我有以下界面:
public interface IView<TViewModel>
{
TViewModel ViewModel { get; set; }
}
public interface IViewModel : INotifyPropertyChanged
{
}
我想确保通用TViewModel
始终是实现接口IViewModel
的类。我可以做到以下几点:
public interface IView
{
IViewModel ViewModel { get; set; }
}
但是我无法访问ViewModel
特定类的所有属性和方法。
如何确保TViewModel
始终是实现接口IViewModel
的类?
答案 0 :(得分:4)
使用where
clause指定通用类型约束。
public interface IView<TViewModel> where TViewModel : IViewModel
{
TViewModel ViewModel { get; set; }
}