是否可以告诉反序列化程序(例如ContractResolver(将属性的值直接写入其内部或专用支持字段,而不是使用其setter?
型号:
public class TestModel
{
public string Name
{
get => _Name;
set
{
// do some very expensive stuff
_Name = value;
}
}
internal string _Name = string.Empty;
}
所以我的期望是,在一些神奇的代码之后,反序列化器为Property"写入值;名称";到字段"_名称";并避免在名称道具的setter中所做的昂贵的额外工作。
首先,您实际上是如何知道这两种方法的性能差异的?你怎么知道这一点足够重要,足以证明这种优化是合理的?
如果你看看这个
https://www.jacksondunstan.com/articles/2968
和这个
.NET 中属性的性能开销
然后你可以看到,你真的在试图过度优化这一点,而你基本上不会获得任何性能。您肯定不会获得任何最终用户明显注意到的东西。
如果您非常关心性能,那么就不应该使用JSON!