gpt4 book ai didi

c# - 序列化抛出 NotImplementedException 的属性

转载 作者:太空狗 更新时间:2023-10-30 00:26:01 27 4
gpt4 key购买 nike

有什么方法可以序列化以下类的对象并以某种方式忽略抛出的异常吗?

public class HardToSerialize
{
public string IAmNotTheProblem { get; set; }
public string ButIAm { get { throw new NotImplementedException(); } }
}

毫不奇怪,Newtonsoft 在尝试序列化 ButIAm 属性的值时抛出错误。

我无权访问该类,因此无法使用任何属性对其进行修饰。

澄清:我希望它适用于具有抛出 NotImplementedException 的属性的任何 对象。 HardToSerialize 类只是一个示例。

最佳答案

我找到了适合我的解决方案。这样做有什么大问题吗?

var settings = new JsonSerializerSettings();
settings.Error += (o, args) => {
if(args.ErrorContext.Error.InnerException is NotImplementedException)
args.ErrorContext.Handled = true;
};

var s = JsonConvert.SerializeObject(obj, Newtonsoft.Json.Formatting.Indented, settings);

关于c# - 序列化抛出 NotImplementedException 的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13809997/

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