本文整理汇总了C#中ContainerBuilder.RegisterMetadataRegistrationSources方法的典型用法代码示例。如果您正苦于以下问题:C# ContainerBuilder.RegisterMetadataRegistrationSources方法的具体用法?C# ContainerBuilder.RegisterMetadataRegistrationSources怎么用?C# ContainerBuilder.RegisterMetadataRegistrationSources使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ContainerBuilder
的用法示例。
在下文中一共展示了ContainerBuilder.RegisterMetadataRegistrationSources方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: SetUp
public void SetUp()
{
var builder = new ContainerBuilder();
builder.RegisterMetadataRegistrationSources();
builder.RegisterType<object>().WithMetadata("TheInt", SuppliedValue);
_container = builder.Build();
}
示例2: 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);
}
示例3: RegisterMetadataRegistrationSources_WhenContainerBuilt_AddsLazyWithMetadataRegistrationSource
public void RegisterMetadataRegistrationSources_WhenContainerBuilt_AddsLazyWithMetadataRegistrationSource()
{
var builder = new ContainerBuilder();
builder.RegisterMetadataRegistrationSources();
var container = builder.Build();
var lazyWithMetadataCount = container.ComponentRegistry.Sources.Count(
source => source is LazyWithMetadataRegistrationSource);
Assert.That(lazyWithMetadataCount, Is.EqualTo(1));
}
示例4: WithMetadata_InterfaceBasedMetadata_SupportMeta
public void WithMetadata_InterfaceBasedMetadata_SupportMeta()
{
var builder = new ContainerBuilder();
builder.RegisterMetadataRegistrationSources();
builder.Register(c => new object()).WithMetadata<IMeta>(m =>
m.For(value => value.TheInt, 42));
var container = builder.Build();
var meta = container.Resolve<Meta<object, IMeta>>();
Assert.That(meta.Metadata.TheInt, Is.EqualTo(42));
Assert.That(meta.Value, Is.Not.Null);
}
示例5: validate_wireup_of_typed_attributes_to_strongly_typed_metadata_on_resolve
public void validate_wireup_of_typed_attributes_to_strongly_typed_metadata_on_resolve()
{
// arrange
var builder = new ContainerBuilder();
builder.RegisterMetadataRegistrationSources();
builder.RegisterAssemblyTypes(Assembly.GetExecutingAssembly())
.As<IStrongTypedScenario>()
.WithAttributedMetadata<IStrongTypedScenarioMetadata>();
// act
var items = builder.Build().Resolve<IEnumerable<Lazy<IStrongTypedScenario, IStrongTypedScenarioMetadata>>>();
// assert
Assert.That(items.Count(), Is.EqualTo(2));
Assert.That(items.Where(p => p.Metadata.Name == "Hello" && p.Metadata.Age == 42).Count(), Is.EqualTo(1));
Assert.That(items.Where(p => p.Metadata.Name == "Goodbye" && p.Metadata.Age == 24).Count(), Is.EqualTo(1));
Assert.That(items.Where(p => p.Metadata.Name == "Hello" && p.Metadata.Age == 42).First().Value, Is.TypeOf<StrongTypedScenario>());
Assert.That(items.Where(p => p.Metadata.Name == "Goodbye" && p.Metadata.Age == 24).First().Value, Is.TypeOf<AlternateStrongTypedScenario>());
}
示例6: 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");
}