0

使用 C#

Interface A,
Interface B,

Class AA:A
{

 public AA(A a)
{
 //...
}

}

Class BB:B
{

public BB(B b)
{
  //...
}

}

代码工作正常并且不会导致循环引用问题吗?

4

1 回答 1

2

为什么不?除了语法,自相似结构出现在计算机科学中。考虑一棵二叉树:每个节点都有对其他两棵树的引用(由它们的根节点表示)。制作这种树的典型方法是构造一个类型,该类型不是一个,而是两个对该类型的其他实例的引用。

更一般地,类型系统中的循环与对象图中的循环不同。通常第一个是设计使然,但第二个有办法变成错误。

于 2011-09-08T03:11:42.973 回答