gpt4 book ai didi

c# - 为值创建属性 [NonSerialized]

转载 作者:行者123 更新时间:2023-12-04 07:37:31 27 4
gpt4 key购买 nike

我想弄清楚如何为一个值创建一个属性 [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,这应该确实有效 - conditional serialization is a Json.NET feature using the standard pattern .另请注意,我制作了 TotalPayment一个属性,并删除了 [JsonIgnore] .

关于c# - 为值创建属性 [NonSerialized],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67667924/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com