我有一个组织的组织。基本上,它们都有一个共同的基础,然后每个类都会声明一个名称和id。每个派生类都会获取以前的名称和ID。
我需要派生类能够显示继承类的Name属性。我试图在get访问器中使用base.Name。似乎没有用。
我正在使用NHibernate,因此属性必须是虚拟的..这可能是个问题。
我试图通过使用“new”来“隐藏”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;}
}
我需要..
我谷歌搜索并堆栈溢出,无法找到答案..感谢您的帮助
为清晰起见编辑:
我需要这些类看起来像这样。
答案 0 :(得分:1)
我相信你的问题是你可能会对继承如何工作感到困惑。用于标识ConferenceName的Name属性将与District的名称相同。
您需要一个类结构,您可以在区域中包含Conference类的实例,或者将ConferenceName复制到区域的属性中而不引用基础。
更新以反映评论讨论:
public class District : Conference
{
public virtual string ConferenceName {get;set;}
public virtual string DistrictId {get;set;}
}