本文整理汇总了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);
}
示例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[]>());
}
示例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]);
}
示例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>>());
}
示例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));
}
示例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());
}
示例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);
}