次の方法で共有


コンパイラ エラー CS0450

更新 : 2007 年 11 月

エラー メッセージ

'Type Parameter Name': 制約クラスと 'class' または 'struct' 制約の両方を指定することはできません

struct 型とクラス型を同時に指定することはできません。そのため、型パラメータに struct 型制約が指定されているときに、同時に特定のクラス型制約を指定すると、論理的な矛盾が生じます。型パラメータに特定のクラス型制約が指定されている場合は、当然、そのクラス型制約が使用されるため、重ねてクラス型制約を指定することはできません。

使用例

// CS0450.cs
// compile with: /t:library
public class GenericsErrors 
{
    public class B { }
    public class G3<T> where T : struct, B { } // CS0450
// To resolve, use the following line instead:
// public class G3<T> where T : B { }
}