如果我嘗試序列以下ClassToSerialize類的對象與System.Runtime.Serialization.Json.DataContractJsonSerializerSystem.Runtime.Serialization.Json.DataContractJsonSerializer.WriteObject忽略非序列化的屬性,而序列化
[DataContract,Serializable]
public class ClassToSerialize
{
[NonSerialized] private bool _mf;
public bool IsMf
{
get { return _mf};
set{ _mf = value;}
}
[DataMember]
public char PrimaryExc { get; set; }
}
public class TestClass
{
ClassToSerialize obj = new ClassToSerialize{PrimaryExchange = 'a', NoResults = true};
var serializer = new System.Runtime.Serialization.Json.DataContractJsonSerializer(ClassToSerialize);
var ms = new MemoryStream();
serializer.WriteObject(ms, obj);
return Encoding.UTF8.GetString(ms.ToArray());
}
返回字符串仍包含IsMf屬性及其值。 NOnSerialized屬性被忽略。有人可以請建議什麼屬性使用DataContractJsonSerializer時,以不序列化的一些屬性
我提高了Darin的答覆,因爲它更準確,更完整,並且因爲誤導而降低了這個答案。只有標有[DataMember]的成員纔會被序列化,其他成員則不會。不需要您注意到的[NonSerialized]被忽略。 – 2015-06-02 22:20:39