[英]make fields non-serialized by default in c#
是否可以在 c# 中默认使字段非序列化,在 .NET 2.0 中也可以使用?
Serialized 类中的大多数字段都是非序列化的,只有少数字段需要序列化。
我知道一个属性可以应用于多个领域,但这不是我需要的。
该类被序列化为 XML。
[Serializable()]
class MyClass
{
[NonSerialized]
protected double field1;
}
根据您序列化类型的确切方式,您可以在类上使用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
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.