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