Я объявил словарь словаря:
Dictionary<String, Dictionary<String, String>> values;
У меня есть метод получения словаря по определенному индексу:
public Dictionary<String,String> get(String idx)
{
lock (_lock)
{
return values[moduleName];
}
}
Как видите, я работаю в многопоточной среде. Мой вопрос: нужно ли мне возвращать копию моего словаря, чтобы обеспечить потокобезопасность следующим образом:
public Dictionary<String,String> get(String idx)
{
lock (_lock)
{
return new Dictionary<string, string>(values[moduleName]);
}
}
Если я этого не сделаю, класс, вызывающий геттер, получит копию (так что, если я удалю этот словарь из своего Dictionary
будет ли он работать)?
Ура,
Тьерри.