/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

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