/src/LinFu.Reflection/Interfaces/ITypeExtractor.cs

http://github.com/philiplaureano/LinFu · C# · 28 lines · 13 code · 2 blank · 13 comment · 0 complexity · a2daa9e6416795fbc084d15314315946 MD5 · raw file

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Reflection;
  4. namespace LinFu.Reflection
  5. {
  6. /// <summary>
  7. /// Represents a type that can extract <see cref="System.Type" />
  8. /// objects from an <see cref="Assembly" /> instance.
  9. /// </summary>
  10. public interface ITypeExtractor : ITypeExtractor<Assembly, Type>
  11. {
  12. }
  13. /// <summary>
  14. /// Represents a type that can extract <see cref="System.Type" />
  15. /// objects from an <see cref="Assembly" /> instance.
  16. /// </summary>
  17. public interface ITypeExtractor<TAssembly, TType>
  18. {
  19. /// <summary>
  20. /// Returns a set of types from a given assembly.
  21. /// </summary>
  22. /// <param name="targetAssembly">The <see cref="Assembly" /> that contains the target types.</param>
  23. /// <returns>An <see cref="IEnumerable{T}" /> of types from the target assembly.</returns>
  24. IEnumerable<TType> GetTypes(TAssembly targetAssembly);
  25. }
  26. }