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


C# ContainerBuilder.RegisterComposablePartCatalog方法代码示例

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


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

示例1: DefaultLifetimeForMefComponentsIsSingleton

 public void DefaultLifetimeForMefComponentsIsSingleton()
 {
     var builder = new ContainerBuilder();
     var catalog = new TypeCatalog(typeof(HasDefaultCreationPolicy));
     builder.RegisterComposablePartCatalog(catalog);
     AssertDisposalTrackerIsSingleton(builder);
 }
开发者ID:RoymanJing,项目名称:Autofac,代码行数:7,代码来源:DisposalRegistrationTests.cs

示例2: AnyCreationPolicyDefaultsToShared

 public void AnyCreationPolicyDefaultsToShared()
 {
     var builder = new ContainerBuilder();
     var catalog = new TypeCatalog(typeof(HasAnyCreationPolicy));
     builder.RegisterComposablePartCatalog(catalog);
     AssertDisposalTrackerIsSingleton(builder);
 }
开发者ID:RoymanJing,项目名称:Autofac,代码行数:7,代码来源:DisposalRegistrationTests.cs

示例3: MissingDependencyDetected

 public void MissingDependencyDetected()
 {
     var builder = new ContainerBuilder();
     var catalog = new TypeCatalog(typeof(HasMissingDependency));
     builder.RegisterComposablePartCatalog(catalog);
     var container = builder.Build();
     Assert.Throws<ComponentNotRegisteredException>(() => container.Resolve<HasMissingDependency>());
 }
开发者ID:RoymanJing,项目名称:Autofac,代码行数:8,代码来源:SimpleRegistrationTests.cs

示例4: RegisterTypeCatalogContaining

 private static IContainer RegisterTypeCatalogContaining(params Type[] types)
 {
     var builder = new ContainerBuilder();
     var catalog = new TypeCatalog(types);
     builder.RegisterComposablePartCatalog(catalog);
     var container = builder.Build();
     return container;
 }
开发者ID:RoymanJing,项目名称:Autofac,代码行数:8,代码来源:CircularDependencyRegistrationTests.cs

示例5: ExcludesExportsWithoutRequiredMetadata

 public void ExcludesExportsWithoutRequiredMetadata()
 {
     var builder = new ContainerBuilder();
     var catalog = new TypeCatalog(typeof(RequiresMetadataAllowsDefault), typeof(HasNoMetadata));
     builder.RegisterComposablePartCatalog(catalog);
     var container = builder.Build();
     var rm = container.Resolve<RequiresMetadataAllowsDefault>();
     Assert.IsNull(rm.Dependency);
 }
开发者ID:RoymanJing,项目名称:Autofac,代码行数:9,代码来源:MetadataRegistrationTests.cs

示例6: SatisfiesImportOnMefComponentFromMef

 public void SatisfiesImportOnMefComponentFromMef()
 {
     var builder = new ContainerBuilder();
     var catalog = new TypeCatalog(typeof(MefDependency), typeof(ImportsMefDependency));
     builder.RegisterComposablePartCatalog(catalog);
     var container = builder.Build();
     var bar = container.Resolve<ImportsMefDependency>();
     Assert.IsNotNull(bar.Dependency);
 }
开发者ID:RoymanJing,项目名称:Autofac,代码行数:9,代码来源:SimpleRegistrationTests.cs

示例7: RetrievesExportedInterfaceFromCatalogPart

 public void RetrievesExportedInterfaceFromCatalogPart()
 {
     var builder = new ContainerBuilder();
     var catalog = new TypeCatalog(typeof(MefDependency));
     builder.RegisterComposablePartCatalog(catalog);
     var container = builder.Build();
     var foo = container.Resolve<IDependency>();
     Assert.IsAssignableFrom<MefDependency>(foo);
 }
开发者ID:RoymanJing,项目名称:Autofac,代码行数:9,代码来源:SimpleRegistrationTests.cs

示例8: ResolvesExportsFromContext

 public void ResolvesExportsFromContext()
 {
     var builder = new ContainerBuilder();
     var catalog = new TypeCatalog(typeof(MefDependency));
     builder.RegisterComposablePartCatalog(catalog);
     builder.RegisterType<MefDependency>().Exported(e => e.As<IDependency>());
     var container = builder.Build();
     var exports = container.ResolveExports<IDependency>();
     Assert.AreEqual(2, exports.Count());
 }
开发者ID:RoymanJing,项目名称:Autofac,代码行数:10,代码来源:SimpleRegistrationTests.cs

示例9: ImportsEmptyCollectionIfDependencyMissing

 public void ImportsEmptyCollectionIfDependencyMissing()
 {
     var builder = new ContainerBuilder();
     var catalog = new TypeCatalog(typeof(ImportsMany));
     builder.RegisterComposablePartCatalog(catalog);
     var container = builder.Build();
     var im = container.Resolve<ImportsMany>();
     Assert.IsNotNull(im.Dependencies);
     Assert.IsFalse(im.Dependencies.Any());
 }
开发者ID:RoymanJing,项目名称:Autofac,代码行数:10,代码来源:MultipleExportRegistrationTests.cs

示例10: RespectsNonSharedCreationPolicy

 public void RespectsNonSharedCreationPolicy()
 {
     var builder = new ContainerBuilder();
     var catalog = new TypeCatalog(typeof(HasNonSharedCreationPolicy));
     builder.RegisterComposablePartCatalog(catalog);
     var container = builder.Build();
     var instance1 = container.Resolve<DisposalTracker>();
     var instance2 = container.Resolve<DisposalTracker>();
     Assert.IsAssignableFrom<HasNonSharedCreationPolicy>(instance1);
     Assert.AreNotSame(instance1, instance2);
     Assert.IsFalse(instance1.IsDisposedPublic);
     Assert.IsFalse(instance2.IsDisposedPublic);
     container.Dispose();
     Assert.IsTrue(instance1.IsDisposedPublic);
     Assert.IsTrue(instance2.IsDisposedPublic);
 }
开发者ID:RoymanJing,项目名称:Autofac,代码行数:16,代码来源:DisposalRegistrationTests.cs

示例11: ClassRegisteredInAutofacAsFactoryScopedIsResolvedByMefAsFactoryScoped

        public void ClassRegisteredInAutofacAsFactoryScopedIsResolvedByMefAsFactoryScoped()
        {
            var containerBuilder = new ContainerBuilder();

            var newAssemblyCatalog = new AssemblyCatalog(Assembly.GetExecutingAssembly());
            containerBuilder.RegisterComposablePartCatalog(newAssemblyCatalog);
            containerBuilder.RegisterType<RegisteredInAutofac2>();
            containerBuilder.RegisterType<RegisteredInAutofacAndExported>()
                .Exported(e => e.As<RegisteredInAutofacAndExported>());

            var autofacContainer = containerBuilder.Build();

            var elementFromAutofac1 = autofacContainer.Resolve<RegisteredInAutofac2>();
            var elementFromAutofac2 = autofacContainer.Resolve<RegisteredInAutofac2>();

            Assert.AreNotSame(elementFromAutofac1, elementFromAutofac2);
            Assert.AreNotSame(elementFromAutofac1.ImportedFormMef, elementFromAutofac2.ImportedFormMef);
            Assert.AreNotSame(elementFromAutofac1.ImportedFormMef.ImportedFormAutofac, elementFromAutofac2.ImportedFormMef.ImportedFormAutofac);//fail
        }
开发者ID:RoymanJing,项目名称:Autofac,代码行数:19,代码来源:LifetimeScenariosTests.cs

示例12: RespectsExplicitInterchangeServices

        public void RespectsExplicitInterchangeServices()
        {
            var builder = new ContainerBuilder();
            var catalog = new TypeCatalog(typeof(HasMultipleExports));

            var interchangeService1 = new TypedService(typeof(HasMultipleExportsBase));
            var interchangeService2 = new KeyedService("b", typeof(HasMultipleExports));
            var nonInterchangeService1 = new TypedService(typeof(HasMultipleExports));
            var nonInterchangeService2 = new KeyedService("a", typeof(HasMultipleExports));

            builder.RegisterComposablePartCatalog(catalog,
                interchangeService1,
                interchangeService2);

            var container = builder.Build();

            Assert.IsTrue(container.IsRegisteredService(interchangeService1));
            Assert.IsTrue(container.IsRegisteredService(interchangeService2));
            Assert.IsFalse(container.IsRegisteredService(nonInterchangeService1));
            Assert.IsFalse(container.IsRegisteredService(nonInterchangeService2));
        }
开发者ID:RoymanJing,项目名称:Autofac,代码行数:21,代码来源:MultipleExportRegistrationTests.cs

示例13: SetsMultipleExportsToZeroOrMoreCardinalityImports

 public void SetsMultipleExportsToZeroOrMoreCardinalityImports()
 {
     var builder = new ContainerBuilder();
     var catalog = new TypeCatalog(
         typeof(ImportsMany), typeof(HasMetadata), typeof(HasNoMetadata));
     builder.RegisterComposablePartCatalog(catalog);
     var container = builder.Build();
     var rm = container.Resolve<ImportsMany>();
     Assert.IsNotNull(rm.Dependencies);
     Assert.AreEqual(2, rm.Dependencies.Count());
 }
开发者ID:RoymanJing,项目名称:Autofac,代码行数:11,代码来源:MetadataRegistrationTests.cs

示例14: IncludesExportsWithRequiredMetadata

 public void IncludesExportsWithRequiredMetadata()
 {
     var builder = new ContainerBuilder();
     builder.RegisterMetadataRegistrationSources();
     var catalog = new TypeCatalog(typeof(RequiresMetadata), typeof(HasMetadata));
     builder.RegisterComposablePartCatalog(catalog);
     var container = builder.Build();
     var rm = container.Resolve<RequiresMetadata>();
     Assert.IsNotNull(rm.Dependency);
 }
开发者ID:RoymanJing,项目名称:Autofac,代码行数:10,代码来源:MetadataRegistrationTests.cs

示例15: SupportsMetadataOnAutofacExports

 public void SupportsMetadataOnAutofacExports()
 {
     var builder = new ContainerBuilder();
     builder.RegisterMetadataRegistrationSources();
     var metadata = new Dictionary<string, object>
     {
         { "Key", "Value" }
     };
     const string exportedString = "Hello";
     builder.RegisterInstance(exportedString).Exported(e => e.As<string>().WithMetadata(metadata));
     var catalog = new TypeCatalog(typeof(RequiresMetadata));
     builder.RegisterComposablePartCatalog(catalog);
     var container = builder.Build();
     var rm = container.Resolve<RequiresMetadata>();
     Assert.IsNotNull(rm.Dependency);
     Assert.AreEqual(rm.Dependency.Value, "Hello");
 }
开发者ID:RoymanJing,项目名称:Autofac,代码行数:17,代码来源:MetadataRegistrationTests.cs


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