Как сделать ReadonlyCollection из хэшта, не копируя элементы?C#

Место общения программистов C#
Anonymous
Как сделать ReadonlyCollection из хэшта, не копируя элементы?

Сообщение Anonymous »

У меня есть частный хэшсет , который является полем поддержки только для чтения, которое должно вернуть коллекцию только для чтения, так что вызывающие абоненты не могут изменить коллекцию. Итак, я попытался: < /p>

Код: Выделить всё

public class MyClass
{
private readonly HashSet _referencedColumns;

public ICollection ReferencedColumns {
get { return new ReadOnlyCollection(_referencedColumns); }
}
Это не компилируется как readonlycollection принимает илист , который не реализуется Hashset . Есть ли еще одна обертка, которую я могу использовать, чтобы спасти меня от копирования элементов? Для моей цели достаточно просто вернуть что -то реализующее iCollection (вместо илиста ), которое реализовано HashSet .

Подробнее здесь: https://stackoverflow.com/questions/369 ... e-elements

Вернуться в «C#»