当前位置: 首页>>代码示例>>C#>>正文


C# ContainerBuilder.RegisterType方法代码示例

本文整理汇总了C#中ContainerBuilder.RegisterType方法的典型用法代码示例。如果您正苦于以下问题:C# ContainerBuilder.RegisterType方法的具体用法?C# ContainerBuilder.RegisterType怎么用?C# ContainerBuilder.RegisterType使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在ContainerBuilder的用法示例。


在下文中一共展示了ContainerBuilder.RegisterType方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: Load

 protected override void Load(ContainerBuilder builder)
 {
     base.Load(builder);
     builder.RegisterType<AdditionService>().As<IAdditionService>();
     builder.RegisterType<MultiplicationService>().As<IMultiplicationService>();
     builder.RegisterType<CalculationService>().As<ICalculationService>();
 }
开发者ID:kjellski,项目名称:hhcsharp-autofixture,代码行数:7,代码来源:BusinessService.cs

示例2: Initialise

 public void Initialise()
 {
     var builder = new ContainerBuilder();
     builder.RegisterType<Logger>().As<ILogger>();
     builder.RegisterType<Repository>().As<IRepository>();
     builder.Build();
 }
开发者ID:darrenscrine,项目名称:AutofacDI,代码行数:7,代码来源:RepositoryTests.cs

示例3: CollectionInNestedLifetimeScope

        public void CollectionInNestedLifetimeScope()
        {
            // Issue #711
            // Note #711 was using named collections; this test is not.
            // Named collections don't have different behavior than the standard
            // auto-generated behavior from a resolve standpoint since you
            // can't resolve a specifically named collection.
            var cb = new ContainerBuilder();
            cb.RegisterType<Foo1>().As<IFoo>();
            cb.RegisterType<Foo2>().As<IFoo>();
            using (var container = cb.Build())
            {
                var collection = container.Resolve<IEnumerable<IFoo>>();
                Assert.Equal(2, collection.Count());

                using (var scope = container.BeginLifetimeScope())
                {
                    collection = container.Resolve<IEnumerable<IFoo>>();
                    Assert.Equal(2, collection.Count());
                }

                using (var scope = container.BeginLifetimeScope(b => { }))
                {
                    collection = container.Resolve<IEnumerable<IFoo>>();
                    Assert.Equal(2, collection.Count());
                }
            }
        }
开发者ID:GitHuang,项目名称:Autofac,代码行数:28,代码来源:CollectionRegistrationSourceTests.cs

示例4: CanCreateMixinWithClassInterceptors

        public void CanCreateMixinWithClassInterceptors()
        {
            var options = new ProxyGenerationOptions();
            options.AddMixinInstance(new Dictionary<int, int>());

            var builder = new ContainerBuilder();
            builder.RegisterType<C>().EnableClassInterceptors(options);
            builder.RegisterType<AddOneInterceptor>();
            builder.RegisterType<AddTenInterceptor>();
            var container = builder.Build();
            var i = 10;
            var cpt = container.Resolve<C>(TypedParameter.From(i));

            var dict = cpt as IDictionary<int, int>;

            Assert.NotNull(dict);

            dict.Add(1, 2);

            Assert.Equal(2, dict[1]);

            dict.Clear();

            Assert.Empty(dict);
        }
开发者ID:jango2015,项目名称:Autofac.Extras.DynamicProxy,代码行数:25,代码来源:ClassInterceptorsWithOptionsFixture.cs

示例5: BuildSampleContainer

 private void BuildSampleContainer()
 {
     ContainerBuilder containerBuilder = new ContainerBuilder();
     containerBuilder.RegisterModule<NLogModule>();
     containerBuilder.RegisterType<SampleClassWithConstructorDependency>().Named<ISampleClass>("constructor");
     containerBuilder.RegisterType<SampleClassWithPropertyDependency>().Named<ISampleClass>("property");
     _container = containerBuilder.Build();
 }
开发者ID:Holf,项目名称:Autofac.Extras.NLog,代码行数:8,代码来源:NLogModuleTests.cs

示例6: FindsInterceptionAttributeOnReflectionComponent

        public void FindsInterceptionAttributeOnReflectionComponent()
        {
            var builder = new ContainerBuilder();
            builder.RegisterType<C>().As<IHasI>().EnableInterfaceInterceptors();
            builder.RegisterType<AddOneInterceptor>();
            var cpt = builder.Build().Resolve<IHasI>();

            Assert.Equal(11, cpt.GetI()); // proxied
        }
开发者ID:jango2015,项目名称:Autofac.Extras.DynamicProxy,代码行数:9,代码来源:AttributedInterfaceInterceptionFixture.cs

示例7: CtorPropDependencyFactoriesOrder1

        public void CtorPropDependencyFactoriesOrder1()
        {
            var cb = new ContainerBuilder();
            cb.RegisterType<DependsByCtor>();
            cb.RegisterType<DependsByProp>().PropertiesAutowired(PropertyWiringOptions.AllowCircularDependencies);

            var c = cb.Build();
            c.Resolve<DependsByProp>();
        }
开发者ID:RoymanJing,项目名称:Autofac,代码行数:9,代码来源:ResolveOperationTests.cs

示例8: DetectsNonInterfaceServices

 public void DetectsNonInterfaceServices()
 {
     var builder = new ContainerBuilder();
     builder.RegisterType<C>().EnableInterfaceInterceptors();
     builder.RegisterType<AddOneInterceptor>();
     var c = builder.Build();
     var dx = Assert.Throws<DependencyResolutionException>(() => c.Resolve<C>());
     Assert.IsType<InvalidOperationException>(dx.InnerException);
 }
开发者ID:jango2015,项目名称:Autofac.Extras.DynamicProxy,代码行数:9,代码来源:AttributedInterfaceInterceptionFixture.cs

示例9: DecoratingANamedService

 public DecoratingANamedService()
 {
     const string from = "from";
     var builder = new ContainerBuilder();
     builder.RegisterType<Implementer1>().Named<IService>(from);
     builder.RegisterType<Implementer2>().Named<IService>(from);
     builder.RegisterDecorator<IService>(s => new Decorator(s), from);
     _container = builder.Build();
 }
开发者ID:uttarap,项目名称:Autofac,代码行数:9,代码来源:LightweightAdapterRegistrationExtensionsTests.cs

示例10: Load

 protected override void Load(ContainerBuilder builder)
 {
     // InstancePerLifetimeScope implementation
     //builder.Register(c => new PlayInterface(Guid.NewGuid().ToString("N"))).As<IPlayInterface>().InstancePerLifetimeScope(); // InstancePerHttpRequest (httpRequest) lifetime scope default
     builder.RegisterType<PlayInterface>().As<IPlayInterface>().InstancePerLifetimeScope();
         // InstancePerHttpRequest (httpRequest) lifetime scope default
     builder.RegisterType<PlaygroundPresenter>().AsSelf().InstancePerDependency();
     builder.RegisterGeneratedFactory<PlaygroundPresenterFactory>();
 }
开发者ID:powareverb,项目名称:Autofac.Integration.SharePoint,代码行数:9,代码来源:PlaygroundModule2.cs

示例11: BuildContainer

        static IContainer BuildContainer()
        {
            var builder = new ContainerBuilder();

            builder.RegisterType<Dependency>().AsSelf();
            builder.RegisterWebApiModelBinderProvider();
            builder.RegisterType<TestModelBinder>().AsModelBinderForTypes(typeof(TestModel1));

            return builder.Build();
        }
开发者ID:RoymanJing,项目名称:Autofac,代码行数:10,代码来源:AutofacWebApiModelBinderProviderFixture.cs

示例12: CreateServiceLocator

        protected override IServiceLocator CreateServiceLocator() {
            var container = new ContainerBuilder();
            Type simpleType = typeof (SimpleLogger);
            Type complexType = typeof (ComplexLogger);

            container.RegisterType(simpleType).As<ILogger>().Named(simpleType.FullName, typeof (ILogger));
            container.RegisterType(complexType).As<ILogger>().Named(complexType.FullName, typeof (ILogger)).As(typeof(ComplexLogger));

            return new AutofacServiceLocator(container);
        }
开发者ID:calebjenkins,项目名称:mvcturbine,代码行数:10,代码来源:AutofacResolutionTests.cs

示例13: RestrictsExportsBasedOnValueType

 public void RestrictsExportsBasedOnValueType()
 {
     var builder = new ContainerBuilder();
     const string n = "name";
     builder.RegisterType<MefDependency>().Exported(e => e.AsNamed<IDependency>(n));
     builder.RegisterType<MefDependency>().Exported(e => e.AsNamed<MefDependency>(n));
     var container = builder.Build();
     var exports = container.ResolveExports<IDependency>(n);
     Assert.AreEqual(1, exports.Count());
 }
开发者ID:RoymanJing,项目名称:Autofac,代码行数:10,代码来源:SimpleRegistrationTests.cs

示例14: Register

        public static void Register(ContainerBuilder builder)
        {
            builder.RegisterType<MongoEventStoreRepository>()
              .As<IEventStoreRepository>()
              .InstancePerRequest();

              builder.Register(c => new AccountIdResolver(new MongoAccountRepository()))
              .As<IAccountIdResolver>()
              .InstancePerRequest();

              builder.RegisterType<MongoAccountRepository>()
              //.As<IAccountRepository>()
              .Named<IAccountRepository>("account")
              .InstancePerRequest();

              builder.RegisterDecorator<IAccountRepository>(
              (c, inner) => new MongoAccountRepositoryWithEventStore(inner,
            new MongoEventStoreRepository(c.Resolve<IAccountIdResolver>())),
              fromKey: "account")
              .InstancePerRequest();

            builder.RegisterType<MongoQueryRepository>()
                            //.As<IQueryRepository>()
              .Named<IQueryRepository>("query")
              .InstancePerRequest();

              builder.RegisterDecorator<IQueryRepository>(
              (c, inner) => new MongoQueryRepositoryWithEventStore(inner,
            new MongoEventStoreRepository(c.Resolve<IAccountIdResolver>())),
              fromKey: "query")
              .InstancePerRequest();

            builder.RegisterType<MongoQueryLogRepository>()
                            .As<IQueryLogRepository>()
                            .InstancePerRequest();

              BsonClassMap.RegisterClassMap<Account>();

              BsonClassMap.RegisterClassMap<EventStore>(classMap => {
            classMap.AutoMap();
            classMap.GetMemberMap(es => es.EventName).SetRepresentation(BsonType.String);
              });

              BsonClassMap.RegisterClassMap<AuthorizationSettings>(classMap => {
            classMap.AutoMap();
            classMap.GetMemberMap(aus => aus.Operation).SetRepresentation(BsonType.String);
            classMap.GetMemberMap(aus => aus.AccountId).SetRepresentation(BsonType.ObjectId);
              });

              BsonClassMap.RegisterClassMap<Note>(classMap =>
              {
            classMap.AutoMap();
            classMap.GetMemberMap(n => n.AccountId).SetRepresentation(BsonType.ObjectId);
              });
        }
开发者ID:kennisnet,项目名称:Sparql-Query-Api,代码行数:55,代码来源:MongoDbRegistration.cs

示例15: ConfigureMefThenAutofac

        private static IContainer ConfigureMefThenAutofac()
        {
            var builder = new ContainerBuilder();
            builder.EnableCompositionIntegration();
            var catalog = new AssemblyCatalog(Assembly.GetExecutingAssembly());
            builder.RegisterCatalog(catalog);
            builder.RegisterType<AutofacComponent>().As<IAutofacComponent>();
            builder.RegisterType<CountableAutofacComponent>().As<ICountableAutofacComponent>();

            return builder.Build();
        }
开发者ID:doublekill,项目名称:MefContrib,代码行数:11,代码来源:UnityContainerExtensionsTests.cs


注:本文中的ContainerBuilder.RegisterType方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。