この例のように、親オブジェクトをシリアル化しようとしています
static void Main(string[] args)
{
Child child = new Child
{
Id = 5,
Name = "John",
Address = "Address"
};
Parent parent = child;
XmlSerializer serializer =new XmlSerializer(typeof(Parent));
Stream stream=new MemoryStream();
serializer.Serialize(stream,parent); //this line throws exception
Parent p2 = (Parent) serializer.Deserialize(stream);
Console.ReadKey();
}
}
[Serializable]
public class Parent
{
public int Id { get; set; }
public string Name { get; set; }
}
[Serializable]
public class Child : Parent
{
public string Address { get; set; }
}
私が取得している例外テキストは、「タイプ CastParrentExample.Child は予期されていませんでした。XmlInclude または SoapInclude 属性を使用して、静的に認識されていないタイプを指定してください。」私が到達しようとしているのは、子クラスのフィールドなしで真の親クラス オブジェクトを取得することです。