C#不序列化继承的类

时间:2013-12-28 02:23:54

标签: c# wpf inheritance serialization

我有一个保存某些数据的类(对于游戏编辑器),为了在我的程序中使用它必须继承类System.Windows.Controls.Image

该课程如下:

public class GameObjectInstance : Image
{
    public string InstanceName { get; set; }
    public string ObjectX { get; set; }
    public string ObjectY { get; set; }
    ...
}

Image必须继承,因为我必须在Canvas上绘制GameObjectInstance以显示图片,但我还必须保留特定的GameObjectInstance数据。

我的程序必须将一些GameObjectInstance类保存到某处的文件中。 我试图通过序列化来做到这一点,我发现XmlSerializer不支持这一点。我也尝试使用BinaryFormatter进行序列化,但这也不起作用。

如何序列化以便忽略继承的属性(我不需要保存他们的数据)?

1 个答案:

答案 0 :(得分:3)

不要从图像继承,而是在类中定义Image类型的属性。使用[XmlIgnore]标记您不想序列化的属性。