我有一個組織的hiearchy。基本上,他們都有一個共同的基礎,然後每個班級將聲明一個名稱和ID。每個派生類將獲取以前的名稱和ID。c#遺傳欺騙與層次
我需要派生類能夠顯示繼承類的Name屬性。我試圖在get訪問器中使用base.Name ..似乎沒有工作。
我使用NHibernate所以屬性必須是虛擬的..這可能是一個問題。
我試圖通過使用「新」來隱藏Name屬性,但我認爲base.Name是新版本。
的hiearchy看起來像這樣...
public class Base
{
public virtual string Name {get;set;}
public virtual string Website {get;set;}
}
public class Jurisdiction : Base
{
public virtual string JurisdictionId {get;set;}
}
public class Conference : Jurisdiction
{
public virtual string JurisdictionName {get{ return base.Name; }}
public virtual string ConferenceId {get;set;}
}
public class District : Conference
{
public virtual string ConferenceName {get {return base.Name; }}
public virtual string DistrictId {get;set;}
}
我需要..
- District.ConferenceName返回Conference.Name
- Conference.JurisdictionName返回Jurisdiction.Name
我google和stackoverflowed並找不到答案..謝謝爲幫助
編輯清晰:
我需要的類,看起來像這樣。
- 區 - >名稱,DistrictId,ConferenceId,ConferenceName,JurisdictionId,JurisidictionName
- 會議 - >名稱,ConferenceId,JurisdictionId,JurisdictionName
- 管轄權 - >名稱,JurisdictionId
請澄清你的問題。對我來說,你似乎只需要覆蓋會議中的名稱屬性返回一個新的獨特的名字,但這似乎很簡單。 – Polity