Хороший вопрос.
Насколько я знаю (а я не знаю ни MSDN / блога / статьи, что это оспаривает / доказывает), навигационное свойство может быть любого типа, если онореализует ICollection<T>
.
Оба HashSet<T>
и SortedSet<T>
реализуют ICollection<T>
, так что любой из них будет приемлемым кандидатом.Вы должны быть в состоянии увидеть, какой конкретный класс решен.
Большинство людей используют ICollection<T>
/ IList<T>
.Почему вы хотите объявить свойство как ISet<T>
?
Почему бы вам просто не объявить, какой тип вы хотите, вместо интерфейса.
Или вы можете попробовать использовать внедрение зависимостей (For<ISet>().Use<HashSet>()
). * * тысяча двадцать-одна