/src/SampleLibrary/SampleOpenGenericFactory.cs

http://github.com/philiplaureano/LinFu · C# · 22 lines · 18 code · 4 blank · 0 comment · 0 complexity · a6bb9070fc647f6b8c10b099692ea13f MD5 · raw file

  1. using System;
  2. using LinFu.IoC.Configuration;
  3. using LinFu.IoC.Interfaces;
  4. namespace SampleLibrary
  5. {
  6. [Factory(typeof(ISampleGenericService<>))]
  7. public class SampleOpenGenericFactory : IFactory
  8. {
  9. #region IFactory Members
  10. public object CreateInstance(Type serviceType, IContainer container)
  11. {
  12. Type typeArgument = serviceType.GetGenericArguments()[0];
  13. Type actualType = typeof(SampleGenericImplementation<>).MakeGenericType(typeArgument);
  14. return Activator.CreateInstance(actualType);
  15. }
  16. #endregion
  17. }
  18. }