类线程安全存储 为什么要检查字段" _store"等于空



在文件中:https://github.com/JamesNK/Newtonsoft.Json/blob/master/Src/Newtonsoft.Json/Utilities/ThreadSafeStore.cs#L70

为什么要检查字段" _store"等于空

存在空检查,因为名为 _store 的字典可能尚未初始化。在类的构造函数中,_store被初始化,这将使 null 检查无关紧要,因为它将始终被初始化。

通过查看文件的历史记录,似乎_store并不总是在构造函数中初始化(这是在 2012 年的某个时候添加的)。在这种情况下,需要 null 检查,因为如果您尝试将条目添加到未初始化的字典中,则会发生异常。

这给出了一个提示,即 null 检查很可能是未在构造函数中初始化时的工件。在不查看整个项目的情况下,我的猜测是 null 检查可能会被删除,而不会引起任何问题。

相关内容

  • 没有找到相关文章

最新更新