如果我已經創建瞭如下僱員對象(簡化的)...自定義C#對象是否可以包含與其自身相同類型的屬性?
public class Employee
{
public Employee()
{
}
public String StaffID { get; set; }
public String Forename { get; set; }
public String Surname { get; set; }
}
...這將是可以接受的在僱員對象的另一屬性與類型也正在僱員保留經理的細節(如下所示)?
public class Employee
{
public Employee()
{
}
public String StaffID { get; set; }
public String Forename { get; set; }
public String Surname { get; set; }
public Employee Manager { get; set; }
}
此外,什麼是實例爲經理財產員工對象的最佳方式?顯然在構造函數中包含this.Manager = new Employee();
將導致無限循環。是經理繼承僱員是最好的方式(即使所有的屬性將是相同的)?
@FelixK:
現在你可以在main()函數一樣使用它。這有點苛刻,它的一個很好的問題,並採取了一些興趣閱讀這個* ..在構造函數將導致無限循環*。記住所有不是專家 – V4Vendetta 2012-01-17 10:18:09
@ V4Vendetta這是事實,我們並不都是專家。但是,當我遇到問題或問題時,我會測試一些解決導致問題的任務的方法。 – 2012-01-17 10:33:35
@FelixK。是的,我確實嘗試過,它編譯得很好 - 這就是爲什麼我的問題是它是「可接受的」而不是「它會工作」 - 我想檢查這是否是好的做法或不是什麼。碰巧,下面關於對象實例化的解決方案几乎與我所得出的結論一樣,但又相對缺乏經驗,我想確保我正常運行。 – triplestones 2012-01-17 11:01:25