C# で基本クラス オブジェクトをその派生クラスの 1 つに明示的に変換することは可能ですか? 現在、基本クラス オブジェクトをパラメーターとして受け取り、プロパティ値をコピーする派生クラスのコンストラクターを作成する必要があると考えています。私はこの考えがあまり好きではないので、できれば避けたいと思っています。
これは機能するようには見えません (オブジェクトは新しいベースとしてインスタンス化されるため、派生クラスの余分なメンバーにメモリを割り当てる必要はありません) が、C# ではそれを実行できるようです:
class BaseClass
{
... some stuff ...
}
class DerivedClass : BaseClass
{
public bool MyDerivedProperty{ get; set; }
}
static void Main(string[] args)
{
BaseClass myBaseObject = new BaseClass();
DerivedClass myDerivedObject = myBaseObject as DerivedClass;
myDerivedObject.MyDerivedProperty = true;
}