次のClassToSerializeクラスのオブジェクトをSystem.Runtime.Serialization.Json.DataContractJsonSerializerでシリアル化しようとすると
[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を使用するときに使用する属性を誰かが提案できますか?