更新: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
{
}