私は組織のヒラリーを持っています。基本的に、それらはすべて共通の基盤を共有し、各クラスは名前とIDを宣言します。すべての派生クラスは以前の名前とIDを取得します。ヒエラキーのC#継承トリッキー
継承されたクラスの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;}
}
私が必要..
- District.ConferenceName Jurisdiction.Name を返すためにConference.Name
- Conference.JurisdictionNameを返すために...このようになります
私はグーグルとstackoverflowedと答えを見つけることができません..ありがとう明確にするための助け
EDITのために:
私はこのように見えるようにするためのクラスを必要としています。
- 地区 - >名前、DistrictId、ConferenceId、ConferenceName、JurisdictionId、JurisidictionName
- 会議 - >名前、ConferenceId、JurisdictionId、JurisdictionName
- 管轄 - >名前、JurisdictionId
あなたの質問を明確にしてください。私にとっては、新しい別名を返す会議の名前プロパティを上書きする必要があるようですが、それは単純なようです。 – Polity