我有一个通用接口IConstrained,由通用的Constrained类实现。当我尝试执行下面的代码时,会出现无效的类型转换异常。
IConstrained<decimal> decimalLimit = new Constrained<decimal>(1);
IConstrained<IComparable> comparableLimit = (IConstrained<IComparable>) decimalLimit;
为什么如果decimal实现了IComparable接口就不能这样做呢?正确的方法是什么?谢谢。