/src/LinFu.Proxy.Interfaces/IMethodPicker.cs
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}