我有以下界面:
public interface IView<TViewModel>
{
TViewModel ViewModel { get; set; }
}
public interface IViewModel : INotifyPropertyChanged
{
}
我想确保泛型
TViewModel
始终是实现接口IViewModel
的类。我可以执行以下操作:public interface IView
{
IViewModel ViewModel { get; set; }
}
但是,那时我将无法访问
ViewModel
特定类的所有属性和方法。如何确保
TViewModel
始终是实现接口IViewModel
的类? 最佳答案
使用where
clause指定通用类型约束。
public interface IView<TViewModel> where TViewModel : IViewModel
{
TViewModel ViewModel { get; set; }
}
关于c# - 验证泛型类型实现特定接口(interface),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30093792/