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