Answers:
此外,DataContractSerializer将序列化标记为[Serializable]的项目,还将序列化.NET 3.5 SP1和更高版本中的未标记类型,以支持序列化匿名类型。
因此,这取决于您如何装饰类以防止成员序列化:
[DataContract]
,则删除[DataMember]
该属性的。[Serializable]
,则[NonSerialized]
在属性的字段前面添加。[IgnoreDataMember]
到属性中。在XML序列化中,可以在序列化类时使用[XmlIgnore]属性(System.Xml.Serialization.XmlIgnoreAttribute)忽略属性。
这可能对您有用(或者对在我像在XML中进行序列化时试图找出如何忽略属性的任何发现此问题的人一样有用)。
尝试使用[NonSerialized()]属性标记该字段。这将告诉序列化器忽略该字段。
https://msdn.microsoft.com/zh-CN/library/system.nonserializedattribute(v=vs.110).aspx
您所说的与该位置的MSDN库中的所说的相冲突:
http://msdn.microsoft.com/zh-cn/library/system.runtime.serialization.datacontractserializer.aspx
我没有看到您提到的SP1功能。