愚かなアイデアのように聞こえますが、どういうことかと思っていました。実行時に基底クラスを別の基底クラスに変更/スワップ
実行時に派生クラスの基本クラスを変更することはできますか?もちろん、多くのifとbutsがあり、誰かがそれをして、なぜその悪いデザインをしているのかという疑問があります。
完全に有効かもしれませんが、それらを脇に置いて、ちょうどキックやナーディネスを示すために、C#や他言語で可能でしょうか?
だから、のようなもの:これは、C#でことはできません
public class baseOriginal {
public string justAProperty;
}
public class baseSwapped {
public int sillyNumber;
}
public class derivedClass : baseOriginal {
public bool iAmDumb;
}
void Main() {
baseOriginal derived = new derivedClass();
Console.WriteLine(derived.justAProperty);
baseSwapped derivedSwapped = (??);
Console.WriteLine(derivedSwapped.sillyNumber);
}
これは自己修正コードです。 "私は哺乳類です!" "いいえ、私は爬虫類です!" "ああ、今私は鳥になりたい!" –
継承を超える構成を検討する必要があります。 –
現在のところ、このための実際のユースケースはありません。私は全く悪いデザインに同意します。私はこれを聞いた理由は私が誰かがそれについて話し、彼らが(多分C + +で)それをしたと主張したと聞いた。私は彼を華麗な男として高く評価していますが、彼を信じることはできませんでした。私はたくさんのことを試み、これを「不可能」とする前に、コミュニティの意見を求めました。 DLRの考え方は面白いようです。何かができるかどうかを見るために、週末にいくつかの掘削をするでしょう。 – Mrchief