2009-10-20 107 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

相關問題