私は自分のオブジェクトを持っていますが、それを拡張して、人からのデータを保存し、新しい情報を追加したいと思います。
したがって、コードは次のようになります。
public class Student : Person
{
public string code { get; set; }
}
しかし、それを初期化して新しい値を追加しようとすると、次のようになります。
Person person = new Person("Paul", "Catch");
Student student = (Person)person;
student.code = "1234";
私は得たSystem.InvalidCastException: Unable to cast object of type 'MyLayer.Person' to type 'Student'.
私はいくつかのポイントを逃していますか?
編集:多分私はそのPersonクラスを置くのを間違えました。次のようなオブジェクトとしてのDBからのものになると想定する必要があります。Person person = new MyPersons().First();
したがって、新しいオブジェクトにプロパティを1つずつ入力するのではなく、古いオブジェクトを拡張する新しいオブジェクトのおかげで、1つのプロパティを拡張するだけです。