Частично поточно-безопасный словарь

У меня есть класс, который поддерживает частныйDictionary экземпляр, который кэширует некоторые данные.

Класс записывает в словарь несколько потоков, используяReaderWriterLockSlim.

Я хочу выставить значения словаря вне класса.
Что такое потокобезопасный способ сделать это?

Прямо сейчас у меня есть следующее:

public ReadOnlyCollection<MyClass> Values() {
    using (sync.ReadLock())
        return new ReadOnlyCollection<MyClass>(cache.Values.ToArray()); 
}

Есть ли способ сделать это, не копируя коллекцию много раз?

Я использую .Net 3.5 (не 4.0)

Ответы на вопрос(4)

Ваш ответ на вопрос