英語で読む

次の方法で共有


コンパイラ エラー CS0454

'Type Parameter 1' と 'Type Parameter 2' を含む循環制約の依存関係

このエラーは、ある時点で 1 つの型パラメーターが別の型パラメーターを参照し、2 つ目の型パラメーターが最初の型パラメーターを逆参照します。 このエラーを解決するには、制約のいずれかを削除して、循環依存の関係をなくします。 循環制約の依存関係は間接である場合があることに注意してください。

例 1

次のコードではエラー CS0454 が生成されます。

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

例 2

次の例は、2 つの型制約の間にある循環依存の関係を示します。

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