gpt4 book ai didi

c# - 是否可以对具有显式实现的接口(interface)属性的类进行 json 序列化?

转载 作者:行者123 更新时间:2023-12-05 02:18:20 24 4
gpt4 key购买 nike

interface A { string Name {get;set;}}

interface B { string Name {get;set;}}

class C : A, B { string A.Name {get;set;} string B.Name {get;set;}}

var c = new C();
((A)c).Name = "a";
((B)c).Name = "b";

var s = JsonConvert.SerializeObject(c);

结果是一个没有属性值的空 json 对象。是否可以序列化和反序列化这样的对象?

最佳答案

告诉 json 序列化私有(private)属性:

class C : A, B
{
[JsonProperty]
string A.Name { get; set; }
[JsonProperty]
string B.Name { get; set; }
}

然后你的代码会产生

{"Application.A.Name":"a","Application.B.Name":"b"}

关于c# - 是否可以对具有显式实现的接口(interface)属性的类进行 json 序列化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45608948/

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