私には2つのクラスがあり、一方は他方を継承します。たとえば、次のようになります。
public class A
{
public string AA { get; set; }
public double AB { get; set; }
}
と
public class B : A
{
public double? BA { get; set; }
}
これで、オブジェクトBのインスタンスがある場合、それをタイプAとしてキャストできることがわかりましたが、タイプBオブジェクトとしてインスタンス化するAのインスタンスがあります。すべてのプロパティ値をコピーするコンストラクターをBのクラスに配置できることはわかっていますが、基本クラスAにはかなりの数のプロパティがあり、さらに追加されている可能性があるため、1つが欠落しているか、追加し忘れているのではないかと心配しています。 Aに追加するときにBのコンストラクターに追加します。これを行う簡単な方法はありますか?
- - - -編集 - - -
残念ながら、私のユースケースではなく、皆さんに感謝します。それは、仲間が私に解雇した質問です。私の知る限り、問題があり、彼は基本クラスを変更できません。私が理解しているように、基本クラスはデータベース呼び出しにフックするクラスであり、次にそのデータを取得し、管理者編集画面にいくつかのプロパティを追加して、コードが基本データオブジェクトのプロパティを更新するために使用します。私の最初の反応は、ベースオブジェクトをオブジェクトのプロパティとして持つことでしたが、使用しているツールを使用してベースオブジェクトを「フラット化」する方がはるかに簡単である理由があります。思わなかったこれを行う方法はありましたが、何かが足りない場合に備えて確認したいと思いました-背景を含めるよりも、基本的な質問をする方が簡単だと思いました。水(これで、彼は「彼のコントロールを超えた状況」に苦しんでいるAFAIK)。