/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

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