我只是偶然发现了一个用例,我想用来自 json 的值填充匿名对象:
var o = new { foo = "123", bar = "456" };
JsonConvert.PopulateObject(@"{'foo': 'abc'}", o);
Console.WriteLine(o.foo); // outputs "123" instead of "abc"
但只要 o 是匿名类型,它就不起作用。
匿名对象没有设置器。
我明白了,对匿名类型不太了解。 有一种方法可以修改他们的支持字段,但我想你不希望它在 lib 中。
无论如何,这是我的解决方法: https ://dotnetfiddle.net/S4GPil
最有用的评论
无论如何,这是我的解决方法: https ://dotnetfiddle.net/S4GPil