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


C# ContainerBuilder.RegisterMetadataRegistrationSources方法代码示例

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


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

示例1: validate_wireup_of_generic_attributes_to_strongly_typed_metadata_on_resolve

        public void validate_wireup_of_generic_attributes_to_strongly_typed_metadata_on_resolve()
        {
            // arrange
            var builder = new ContainerBuilder();
            builder.RegisterMetadataRegistrationSources();

            builder.RegisterAssemblyTypes(Assembly.GetExecutingAssembly())
                .As<IWeakTypedScenario>()
                .WithAttributedMetadata();

            // act
            var items = builder.Build().Resolve<IEnumerable<Lazy<IWeakTypedScenario, IWeakTypedScenarioMetadata>>>();

            // assert
            Assert.That(items.Count(), Is.EqualTo(1));
            Assert.That(items.Where(p => p.Metadata.Name == "Hello").Count(), Is.EqualTo(1));
        }
开发者ID:RoymanJing,项目名称:Autofac,代码行数:17,代码来源:WeakTypedAttributeScenarioTestFixture.cs

示例2: Load

        protected override void Load(ContainerBuilder builder)
        {
            // Enables the use of Interface based metadata
            builder.RegisterMetadataRegistrationSources();

            // Enables the use of metadata attributes 
            builder.RegisterModule<AttributedMetadataModule>();

            var currentAssembly = System.Reflection.Assembly.GetExecutingAssembly();

            #region Register IRuleSpecs
            
            currentAssembly.GetTypes()
                           .Where(t => t.GetInterfaces().Contains(typeof(IRuleSpec)) && !t.IsAbstract)
                           .ForEach(specType => {

                               builder.RegisterType(specType).As<IRuleSpec>()
                                      .WithAttributeFilter();
                                        
                           });
            #endregion

            #region Register IRuleHandlers
            
            currentAssembly.GetTypes()
                           .Where(t => t.GetInterfaces().Contains(typeof(IRuleHandler)) && !t.IsAbstract)
                           .ForEach(handlerType => {

                               builder.RegisterType(handlerType).As<IRuleHandler>()
                                      .WithAttributeFilter();
                           });

            #endregion 

            builder.RegisterType<RulesEngine>().As<IRulesEngine>();
        }
开发者ID:cecilphillip,项目名称:beyond-di-samples,代码行数:36,代码来源:LogicModule.cs

示例3: Load

 protected override void Load(ContainerBuilder builder)
 {
     builder.RegisterMetadataRegistrationSources();
     builder.RegisterType<WeakTypedScenario>().As<IWeakTypedScenario>();
     builder.RegisterType<CombinationalWeakTypedScenario>().As<ICombinationalWeakTypedScenario>();
 }
开发者ID:RoymanJing,项目名称:Autofac,代码行数:6,代码来源:WeakTypeAttributedMetadataModule.cs


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