什么术语用于描述两个类何时相互依赖?

时间:2009-10-20 05:43:16

标签: c# class dependencies

我在C#中有以下两个类:

public class MyFirstClass : IMyFirstClass
{
    MySecondClass mySecondClass;
    public MyFirstClass(IMySecondClass mySecondClass)
    {
        this.mySecondClass = mySecondClass;
    }

    public MyFirstClass() : this(new MySecondClass()){}
}

public class MySecondClass : IMySecondClass
{
    MyFirstClass myFirstClass;
    public MySecondClass(IMyFirstClass myFirstClass)
    {
        this.myFirstClass = myFirstClass;
    }

    public MySecondClass() : this(new MyFirstClass()){}
}

您会注意到,当实例化这些类中的任何一个的默认构造函数时,系统将因为需要进行的无限实例化而崩溃。

是否有用于描述此问题的官方用语?

2 个答案:

答案 0 :(得分:6)

这称为circular reference

  

有时是循环引用   被称为复出,是一种   最后一系列参考文献   因此,对象引用第一个   引起整个系列的引用   无法使用。

答案 1 :(得分:1)

前几天我有这个,发现了以下内容:

What is Circular dependency and how do we resolve it?

@Andrew Hare上面的内容绝对正确,但另一个术语是循环依赖'。