我有一些相互链接的通用接口。
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”的隐式引用转换。
在这种情况下如何正确使用通用接口?