【发布时间】:2018-12-20 01:17:52
【问题描述】:
我创建了一个名为“A”的类,并引用了“B”类 同时,我创建了一个名为“B”的类,并引用了“A”类
我做了两个如下的类
class A
{
private readonly B _b;
A(B b)
{
_b = b;
}
}
class B
{
private readonly A _a;
B(A a)
{
_a = a;
}
}
但是 NInjection 不允许我做出这样的模式。
所以,我想知道为什么不允许交叉引用。
谢谢。
【问题讨论】:
-
如果你只能用 B 构造 A 并且只能用 A 构造 B,你打算如何开始构造 A 或 B?
-
如果您对引用类型、接口等不太熟悉,我认为您不应该使用 IoC 容器。人。您到底想在这里实现什么目标?
-
这称为循环依赖。 ninject 中不允许。可以使用属性注入。
标签: c# cross-reference