使用英语阅读

通过


编译器错误 CS0454

涉及“Type Parameter 1”和“Type Parameter 2”的循环约束依赖项

由于有时一个类型参数引用另一个,而第二个参数反过来又引用第一个,因此会出现此错误。 要修复此错误,请删除其中一个约束以中断循环依赖项。 请注意,循环约束依赖项可以是间接的。

示例 1

以下代码生成错误 CS0454。

C#
// CS0554  
using System;  
public class GenericsErrors
{  
    public class G4<T> where T : T { } // CS0454  
}  

示例 2

下面的示例演示了两个类型约束之间的循环依赖项。

C#
public class Gen<T,U> where T : U where U : T  // CS0454  
{  
}