PageRenderTime 82ms CodeModel.GetById 40ms app.highlight 1ms RepoModel.GetById 39ms app.codeStats 0ms

/src/LinFu.Proxy.Interfaces/IProxyBuilder.cs

http://github.com/philiplaureano/LinFu
C# | 25 lines | 11 code | 1 blank | 13 comment | 0 complexity | d5a5ca2c6e3ccf46090a0ff44682e9c2 MD5 | raw file
 1using System;
 2using System.Collections.Generic;
 3using Mono.Cecil;
 4
 5namespace LinFu.Proxy.Interfaces
 6{
 7    /// <summary>
 8    ///     Represents a class that is responsible
 9    ///     for generating proxy types.
10    /// </summary>
11    public interface IProxyBuilder
12    {
13        /// <summary>
14        ///     Generates a proxy that must be derived
15        ///     from the <paramref name="baseType" /> and implement
16        ///     the list of <paramref name="interfaces" />.
17        /// </summary>
18        /// <param name="baseType">The base class of the type being constructed.</param>
19        /// <param name="interfaces">The list of interfaces that the new type must implement.</param>
20        /// <param name="module">The module that will hold the brand new type.</param>
21        /// <param name="targetType">The <see cref="TypeDefinition" /> that represents the type to be created.</param>
22        void Construct(Type baseType, IEnumerable<Type> interfaces,
23            ModuleDefinition module, TypeDefinition targetType);
24    }
25}