假设我有以下三个类/接口:
public interface IImportViewModel
{
}
public class TestImportViewModel : IImportViewModel
{
}
public class ValidationResult<TViewModel> where TViewModel : IImportViewModel
{
}
由于TestImportViewModel 实现了IImportViewModel,为什么下面的编译不出来?
ValidationResult<IImportViewModel> r = new ValidationResult<TestImportViewModel>();
我了解错误消息“无法将类型 'ValidationResult' 隐式转换为 'ValidationResult'”的含义。我只是不明白为什么会这样。这不是协方差吗?