1
У меня есть следующие интерфейсы:Убедитесь, что общий тип реализует определенный интерфейс
public interface IView<TViewModel>
{
TViewModel ViewModel { get; set; }
}
public interface IViewModel : INotifyPropertyChanged
{
}
Я хотел бы, чтобы убедиться, что общий TViewModel
всегда класс, который реализует интерфейс IViewModel
. Я мог бы сделать следующее:
public interface IView
{
IViewModel ViewModel { get; set; }
}
Но тогда я не стал бы иметь доступ ко всем свойствам и методам конкретного класса ViewModel
.
Как я могу убедиться, что TViewModel
всегда является классом, который реализует интерфейс IViewModel
?
'где TViewModel: IViewModel'? Но это всего лишь основные [generics] (https://msdn.microsoft.com/en-us/library/d5x73970.aspx). –
Я, должно быть, пропустил эту страницу ... Извините за основной вопрос. Если вы хотите сделать это ответом, я бы назвал это ответом. Благодарю. – Choub890
Я отредактировал ваш заголовок. Пожалуйста, смотрите: «Если вопросы включают« теги »в их названиях?] (Http://meta.stackexchange.com/questions/19190/), где консенсус« нет, они не должны ». –