【发布时间】:2013-03-08 16:24:59
【问题描述】:
有人知道让这个测试工作缺少什么吗? 可惜它不能开箱即用。
class A { }
class B { public B(A a) { } }
class C { public C(B b) { } }
[Test]
public void SuperFactoryResolutionTest()
{
var builder = new ContainerBuilder();
builder.RegisterType<B>();
builder.RegisterType<C>();
using (var container = builder.Build())
{
Assert.DoesNotThrow(() =>
{
var factory = container.Resolve<Func<A, C>>();
var x = factory(new A());
});
}
}
【问题讨论】:
-
我不清楚你的目标是什么。为什么不注册
A,然后使用容器获取C的实例? -
在我的场景中,A 是客户端连接时由 TcpListener 返回的 TcpClient 实例...
-
为什么不添加构造函数
public C(A a) : this(new B(a)) { }- 这清楚地表明了如何在给定A的情况下构造C。
标签: autofac