У меня есть класс, который использует ISet в качестве типа коллекции, как показано ниже:
public class Client
{
private ISet<Contact> _contacts = new HashedSet<Contact>();
public virtual ISet<Contact> Contacts { get { return _contacts; } }
}
Я не хочу, чтобы сама коллекция могла изменяться извне. Однако, если я изменю тип свойства на IEnumerable, как показано ниже:
public class Client
{
private ISet<Contact> _contacts = new HashedSet<Contact>();
public virtual IEnumerable<Contact> Contacts { get { return _contacts; } }
}
Тогда всякий раз, когда я пытаюсь использовать этот класс, я получаю ошибку NHibernate:
System.
Что дает? Как сделать публичную версию коллекции доступной только для чтения?
NB. Я также пытался использовать ReadOnlyCollection и получал ту же ошибку.