У меня есть ряд организаций. По сути, все они имеют общую базу, и тогда каждый класс объявит имя и идентификатор. Каждый производный класс получит предыдущее имя и идентификатор.
Мне нужно, чтобы производный класс мог отображать свойство Name унаследованного класса. Я пытаюсь использовать base.Name в аксессоре get. Не работает.
Я использую NHibernate, поэтому свойства должны быть виртуальными. Это может быть проблемой.
Я пытался «спрятать» свойство Name с помощью «new», но затем я считаю 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 для возврата юрисдикции. Name
Я гуглил и переполнен стеком и не могу найти ответы .. Спасибо за помощь
РЕДАКТИРОВАТЬ для ясности:
Мне нужно, чтобы классы выглядели так.
- Район -> Имя, идентификатор района, идентификатор конференции, имя конференции, идентификатор юрисдикции, имя юрисдикции
- Conference -> Имя, ConferenceId, JurisdictionId, JurisdictionName
- Юрисдикция -> Имя, JurisdictionId