在C#中将非可序列化成员添加到可序列化类

时间:2014-01-28 03:25:57

标签: c# serialization

可以这样做吗?我的问题是我有这个Serializable类:

[Serializable()]
public class Car
{
    [System.Xml.Serialization.XmlElement("Make")]
    public string m_make;

    [System.Xml.Serialization.XmlElement("Owner")]
    public string m_owner;

    [System.Xml.Serialization.XmlElement("Plate")]
    public string m_plate;

    [System.Xml.Serialization.XmlElement("Type")]
    public TenantType m_type = TenantType.Test;

    public Car()
    {
    }
}

我想在这个类中添加一个不可序列化的对象(一个不扩展ISerializable的对象),但我不断收到运行时错误:“有一个错误反映了'Program.Car'类型。”我把NonSerialized()标记放在它之前,但我认为C#仍然没有得到我不希望它在任何时候被序列化。

    [NonSerialized()]
    public MyObject m_obj;

2 个答案:

答案 0 :(得分:4)

答案 1 :(得分:1)

这是一个很好的参考。我相信你可能使用了错误的属性。

http://msdn.microsoft.com/en-us/library/ms182349.aspx