public void GetProps(Parent p){
// want to access lots of child properties here
string childProp1 = p.prop1;
bool childProp2 = p.prop2;
bool childProp3 = p.prop3;
}
しかし、コンパイラはC#、親参照から子プロパティにアクセスする?
関数は、クラス親の異なるサブタイプにかかる「親が定義PROP1が含まれていない」と文句を言い。
すべてのサブクラスは、この
public override string prop1 { get; set; }
を持ってこれを達成する方法はありますか?
EDIT: 私は今、私はすべての冗長なコードを削除し、1を作りたかった
if(p is Child0){
Child0 ch = p as Child0;
// want to access lots of child properties here
string childProp1 = ch.prop1;
bool childProp2 = ch.prop2;
bool childProp3 = ch.prop3;
}else if(p is Child1){
Child1 ch = p as Child1;
// want to access lots of child properties here
string childProp1 = ch.prop1;
bool childProp2 = ch.prop2;
bool childProp3 = ch.prop3;
}else if(...// and many more
ような何かを行う場所ならば-elseifを質問をより明確にするために
I電流が巨人を持っていますこのすべてを処理できる関数基底クラス(Parent
)で抽象性質は、その後、子クラスにそれらを実装するよう
私は答えました。 –
キーワードrefを変数パラメータとしてどのように使用していますか? –
@DarrenDavies質問 –