是否可以在c#中默认使字段非序列化,这也适用于.NET 2.0?
Serialized类中的大多数字段都是非序列化的,只有少数字段需要序列化。
我知道一个属性可以应用于多个字段,但这不是我需要的。
该类被序列化为XML。
[Serializable()]
class MyClass
{
[NonSerialized]
protected double field1;
}
答案 0 :(得分:3)
根据您对类型的确切排序方式,您可以在班级中使用DataContract
属性。这允许您使用DataMember
属性修饰要序列化的属性。
与DataContractSerializer
结合使用时,序列化需要使用选择加入方法,而缺少该属性的属性将不会被序列化。
using System.Runtime.Serialization;
[DataContract]
class MyClass
{
[DataMember]
protected double field1; // This field is serialized
protected double secretField; // This field is not
}