我有一些通用接口相互链接。
public interface IA
{
int val { get; set; }
}
public interface IB<T> where T:IA
{
T a_val { get; set; }
}
public interface IC<T> where T : IB<IA>
{
T b_val { get; set; }
}
public class a:IA
{
public int val { get; set; }
}
public class b:IB<a>
{
public a a_val { get; set; }
}
public class c:IC<b>
{
public b b_val { get; set; }
}
对于最后一个类c,我遇到了一个错误:
类型“b”不能用作泛型类型或方法“IC”的类型参数“T”。从“b”到“IB”的隐式引用转换不存在。
在这种情况下,我该如何正确使用泛型接口?