PageRenderTime 15ms CodeModel.GetById 12ms app.highlight 1ms RepoModel.GetById 1ms app.codeStats 0ms

/src/LinFu.Proxy.Interfaces/IMethodPicker.cs

http://github.com/philiplaureano/LinFu
C# | 22 lines | 10 code | 1 blank | 11 comment | 0 complexity | 71c2412d79a24884fe3e47b01edeedc6 MD5 | raw file
 1using System;
 2using System.Collections.Generic;
 3using System.Reflection;
 4
 5namespace LinFu.Proxy.Interfaces
 6{
 7    /// <summary>
 8    ///     Represents a class that determines which methods should be proxied
 9    ///     by a given proxy factory.
10    /// </summary>
11    public interface IMethodPicker
12    {
13        /// <summary>
14        ///     Determines which methods should be proxied
15        ///     by a given proxy factory.
16        /// </summary>
17        /// <param name="baseType">The base class of the proxy type currently being generated.</param>
18        /// <param name="baseInterfaces">The list of interfaces that the proxy must implement.</param>
19        /// <returns>A list of <see cref="MethodInfo" /> objects that can be proxied.</returns>
20        IEnumerable<MethodInfo> ChooseProxyMethodsFrom(Type baseType, IEnumerable<Type> baseInterfaces);
21    }
22}