以下のコードを仮定します。既存の基本クラスのインスタンスを使用して派生クラスを作成することは可能ですか?または、拡張メソッドをここで最善の方法で使用していますか?派生クラスは、C#で既存の基本クラスへの参照を保持することはできますか?
public class TestThis
{
public void Test1()
{
A a = GetAFromExternalSystem();
B b = new B(a);
a.Value = 5;
b.Value == 5; //want this line to return true. In other words, b to hold a reference to a.
}
private A GetAFromExternalSystem()
{
return new A();
}
}
public class A
{
public string Name { get; set; }
public int Value { get; set; }
}
public class B : A
{
public B(A a)
{
this = a; //Cannot assign to 'this' because it is read-only
}
public int Ranking { get; set; }
}
可能な複製を使用して行うことができるものを達成するには、[それはC#で明示的な型キャストを持つ派生クラス参照に、基本クラスのオブジェクトを割り当てることは可能ですか? ](http://stackoverflow.com/questions/729527/is-it-possible-to-assign-a-base-class-object-to-a-derived-class-reference-with-a) – weir
_derived class using既存の基底クラスのインスタンス_あなたが言っていることを理解すれば、これは誤解です。サブクラスは親**クラス**から継承します。 **オブジェクト**からではありません。 – chadnt