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


C# ContainerBuilder.RegisterCollection方法代码示例

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


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

示例1: CollectionsAreTaggable

        public void CollectionsAreTaggable()
        {
            var builder = new ContainerBuilder();
            builder.RegisterCollection<object>("o")
                .InstancePerMatchingLifetimeScope("tag")
                .As(typeof(IList<object>));

            var outer = builder.Build();
            var inner = outer.BeginLifetimeScope("tag");

            var coll = inner.Resolve<IList<object>>();
            Assert.NotNull(coll);

            var threw = false;
            try
            {
                outer.Resolve<IList<object>>();
            }
            catch (Exception)
            {
                threw = true;
            }

            Assert.True(threw);
        }
开发者ID:MyLobin,项目名称:Autofac,代码行数:25,代码来源:TagsFixture.cs

示例2: CanRegisterCollectionWithoutGenericMethod

        public void CanRegisterCollectionWithoutGenericMethod()
        {
            var builder = new ContainerBuilder();
            var cname = "s";

            builder.RegisterCollection(cname, typeof(string))
                .As<string[]>();

            var container = builder.Build();

            Assert.True(container.IsRegistered<string[]>());
        }
开发者ID:MyLobin,项目名称:Autofac,代码行数:12,代码来源:CollectionRegistrationBuilderTests.cs

示例3: CollectionRegistrationsSupportArrays

        public void CollectionRegistrationsSupportArrays()
        {
            var builder = new ContainerBuilder();
            var cname = "s";

            builder.RegisterCollection<string>(cname).As<string[]>();

            var s1 = "hello";

            builder.RegisterInstance(s1).MemberOf(cname);

            var container = builder.Build();

            Assert.Equal(s1, container.Resolve<string[]>()[0]);
        }
开发者ID:MyLobin,项目名称:Autofac,代码行数:15,代码来源:CollectionRegistrationBuilderTests.cs

示例4: NewCollectionInNewContext

        public void NewCollectionInNewContext()
        {
            var builder = new ContainerBuilder();
            var cname = "s";

            builder.RegisterCollection<string>(cname)
                .As<IEnumerable<string>>()
                .InstancePerLifetimeScope();

            var outer = builder.Build();

            var coll = outer.Resolve<IEnumerable<string>>();

            Assert.NotNull(coll);
            Assert.Same(coll, outer.Resolve<IEnumerable<string>>());

            var inner = outer.BeginLifetimeScope();

            Assert.NotSame(coll, inner.Resolve<IEnumerable<string>>());
        }
开发者ID:MyLobin,项目名称:Autofac,代码行数:20,代码来源:CollectionRegistrationBuilderTests.cs

示例5: RegisterCollection_Scenario

        public void RegisterCollection_Scenario()
        {
            var builder = new ContainerBuilder();
            var cname = "s";

            builder.RegisterCollection<string>(cname)
                .As<IEnumerable<string>>();

            var s1 = "hello";
            var s2 = "world";

            builder.RegisterInstance(s1).MemberOf(cname);

            builder.RegisterInstance(s2).MemberOf(cname);

            var container = builder.Build();

            var strings = container.Resolve<IEnumerable<string>>();

            Assert.Equal(2, strings.Count());
            Assert.True(strings.Contains(s1));
            Assert.True(strings.Contains(s2));
        }
开发者ID:MyLobin,项目名称:Autofac,代码行数:23,代码来源:CollectionRegistrationBuilderTests.cs

示例6: ServiceCanBelongToMultipleCollections

        public void ServiceCanBelongToMultipleCollections()
        {
            var builder = new ContainerBuilder();
            string cname1 = "s", cname2 = "p";
            var element = "Hello";

            builder.RegisterCollection<string>(cname1);
            builder.RegisterCollection<string>(cname2);
            builder.RegisterInstance(element)
                .MemberOf(cname1)
                .MemberOf(cname2);

            var container = builder.Build();

            var coll1 = container.Resolve<string[]>();
            var coll2 = container.Resolve<string[]>();

            Assert.Equal(1, coll1.Count());
            Assert.Equal(1, coll2.Count());
        }
开发者ID:MyLobin,项目名称:Autofac,代码行数:20,代码来源:CollectionRegistrationBuilderTests.cs

示例7: ResolvesCollectionItemsFromCurrentLifetimeScope

        public void ResolvesCollectionItemsFromCurrentLifetimeScope()
        {
            var builder = new ContainerBuilder();
            builder.RegisterCollection<DisposeTracker>("dt");
            builder.RegisterType<DisposeTracker>().MemberOf("dt");
            var container = builder.Build();

            DisposeTracker tracker;
            using (var ls = container.BeginLifetimeScope())
                tracker = ls.Resolve<DisposeTracker[]>().First();

            Assert.IsTrue(tracker.IsDisposed);
        }
开发者ID:RoymanJing,项目名称:Autofac,代码行数:13,代码来源:CollectionRegistrationSourceTests.cs


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