为值创建属性 [NonSerialized]

沙米尔克斯

我想弄清楚如何为一个值创建一个属性 [NonSerialized]

看一下这个 :

using System;
using System.Text.Json;
 
class Test
{
    public static bool GoingToBeSerialized = false;
 
 
    public int PaymentForTheDay { get; set; }
    public int NumberOfDays { get; set; }
 
    // i want to disable it if GoingToBeSerialized is true
    [System.Text.Json.Serialization.JsonIgnore] 
    public int TotalPayment;
 
    public  bool ShouldSerializeTotalPayment() => GoingToBeSerialized;
}

谢谢。

马克·格拉维尔

请注意,[Serializable][NonSerialized](在原始问题中,现在已在编辑中删除)对大多数序列化程序没有任何作用-它们仅适用于BinaryFormatter您未使用的 。

很有可能只是使用:

public int TotalPayment {get;set;}
public bool ShouldSerializeTotalPayment() => GoingToBeSerialized;

会做你想做的事;最近添加了显示您正在使用 Json.NET 的 pastebin,这确实应该起作用 -条件序列化是使用标准模式的 Json.NET 功能另请注意,我创建TotalPayment了一个属性,并删除了[JsonIgnore].

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章