Все используют много List. Мне нужно перебрать этот список, поэтому я использую известный шаблон SyncRoot .
Недавно я заметил в этом сообщении, что SyncRoot следует избегать в пользу «встроенного» потока -безопасность (каждый метод блокирует закрытый объект, не раскрывая его с помощью свойства SyncRoot). Я могу это понять, и частично я согласен с этим.
Вопрос в том, что класс List
List list = new List()
list.SyncRoot;
дает мне следующую ошибку компилятора:
ошибка CS0117: 'System.Collections.Generic.List' не содержит определения для 'SyncRoot'
... Если это правда , как мне синхронизировать общедоступное свойство типа List