我有一个层次结构的组织。基本上,它们都共享一个共同的基础,然后每个类都将声明一个名称和 ID。每个派生类都会选择以前的名称和 ID。
我需要派生类能够显示继承类的 Name 属性。我正在尝试在 get 访问器中使用 base.Name .. 似乎不起作用。
我正在使用 NHibernate,所以属性必须是虚拟的。这可能是个问题。
我试图通过使用“新”来“隐藏” Name 属性,但后来我认为 base.Name 是新版本。
等级制度是这样的……
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
我用谷歌搜索和stackoverflowed,找不到答案。谢谢你的帮助
为清楚起见编辑:
我需要这些类看起来像这样。
- 区 -> 名称、DistrictId、ConferenceId、ConferenceName、JurisdictionId、JurisidictionName
- 会议 -> 名称、ConferenceId、JurisdictionId、JurisdictionName
- 管辖权 -> 名称,管辖权 ID