本文整理汇总了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));
}
示例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>();
}
示例3: Load
protected override void Load(ContainerBuilder builder)
{
builder.RegisterMetadataRegistrationSources();
builder.RegisterType<WeakTypedScenario>().As<IWeakTypedScenario>();
builder.RegisterType<CombinationalWeakTypedScenario>().As<ICombinationalWeakTypedScenario>();
}