2009-10-20 70 views
2

我有在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()){} 
} 

你会发现,当这两种类的默认构造函数实例化,该系统会崩溃,因为这需要采取的无限实例化地点。

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

回答

6

这被称为一个circular reference

循环引用,有时 称为一个运行周围,是 系列的引用,其中最后一个 对象引用第一,从而 使全系列参考文献 无法使用。

+0

太棒了!谢谢!我脑海中有“循环依赖”这个词,但我并不认为这是真的。 – mezoid 2009-10-20 05:45:42

+0

我真的希望它被称为“依赖”。 – 2009-10-20 05:48:38

相关问题