Пример #1
0
        private static void LoadAssembly(ITypeRegistrationContainer container, string dllFile)
        {
            var assembly = Assembly.LoadFrom(dllFile);

            var types = assembly.GetTypes();

            foreach (var registrarType in types
                     .Where(t => typeof(ITypeRegistrar).IsAssignableFrom(t) && t.IsClass && !t.IsAbstract))
            {
                RunRegistrar(container, registrarType);
            }
        }
        private static void RunRegistrar(ITypeRegistrationContainer container, Type registrarType)
        {
            var registrar = (ITypeRegistrar)Activator.CreateInstance(registrarType);

            registrar.RegisterServices(container);
        }
Пример #3
0
 public void RegisterServices(ITypeRegistrationContainer container)
 {
     container.RegisterDbContext <ToyContext>();
     container.RegisterPerRequest <IToyRepository, ToyRepository>();
     container.RegisterSingleton <IDatabaseInitializer, DatabaseInitializer>();
 }
Пример #4
0
 public void RegisterServices(ITypeRegistrationContainer container)
 {
     container.RegisterTransient <IToyCreatorCustomLogic <LegoSet>, LegoSetCreatorCustomLogic>();
     container.RegisterSingleton <IExtendToyContext, ToyContextLegoExtension>();
 }
Пример #5
0
 public void RegisterServices(ITypeRegistrationContainer container)
 {
     container.RegisterSingleton <IExtendToyContext, ToyContextMableExtension>();
 }
Пример #6
0
 public void RegisterServices(ITypeRegistrationContainer container)
 {
     container.RegisterTransient <IScopedServiceLocator, ScopedServiceLocator>();
 }
Пример #7
0
 public void RegisterServices(ITypeRegistrationContainer container)
 {
     container.RegisterTransient <IToyCreator, ToyCreator>();
 }