Так как словарь является частным, вы должны безопасно его заблокировать.Опасность блокировки (о которой я знаю) состоит в том, что другой код, который вы сейчас не рассматриваете, может также заблокировать объект и потенциально привести к тупику.С частным словарем это не проблема.
Честно говоря, я думаю, что вы могли бы снять блокировку, просто изменив свой код, чтобы он не вызывал метод Add из словаря, вместо этого используя оператор набора свойств.Тогда я вообще не верю в блокировку.
ОБНОВЛЕНИЕ: Ниже приведен блок кода из закрытого метода вставки в словаре, который вызывается как установщиком элементов, так иДобавить метод.Обратите внимание, что при вызове из установщика элементов переменная «add» устанавливается в значение false, а при вызове из метода Add переменная «add» устанавливается в значение true:
if (add)
{
ThrowHelper.ThrowArgumentException(ExceptionResource.Argument_AddingDuplicate);
}
Так что мне кажется,что если вас не беспокоит перезапись значений в вашем словаре (чего в этом случае не было бы), тогда достаточно использовать установщик свойств без блокировки.