シリアル化および逆シリアル化するデータでポリモーフィズムを使用しようとしています。ただし、シリアル化でポリモーフィック プロパティが失われているようです。
// Serialize
[System.Serializable]
public ParentClass()
{
public string someString = "a string";
}
[System.Serializable]
public ChildClass() : ParentClass
{
public int someInt;
public ChildClass(int _someInt)
{
someInt = _someInt;
}
}
List<ParentClass> list = new List<ParentClass>();
list.Add(new ChildClass(5));
// Data is serialized
// Data is deserialized
Debug.Log(list[0].someString);
// Output: a string; Works as intended
Debug.Log((list[0] as ChildClass).someInt));
// Null Reference Exception
この場合、これらのクラスを適切にシリアル化するにはどうすればよいでしょうか?