编译器错误 CS0454
更新:2007 年 11 月
错误消息
涉及“Type Parameter 1”和“Type Parameter 2”的循环约束依赖项
由于有时一个类型参数引用另一个,而第二个参数反过来又引用第一个,因此会出现此错误。要修复此错误,请移除其中一个约束以中断循环依赖项。请注意,循环约束依赖项可以是间接的。
示例
下面的代码生成错误 CS0454。
// CS0554
using System;
public class GenericsErrors
{
public class G4<T> where T : T { } // CS0454
}
下面的示例显示了一个在两个类型约束之间的循环依赖项。
public class Gen<T,U> where T : U where U : T // CS0454
{
}