コンパイラ エラー CS0450
'Type Parameter Name': 制約クラスと 'class' または 'struct' 制約の両方を指定することはできません
構造体の型制約によって制約されている型パラメーターが特定のクラス型によっても制約されることは、論理的な矛盾です。構造体とクラスは相互に排他的なカテゴリであるためです。 型パラメーターが特定のクラス型の制約で制約される場合、定義上、それはクラス型の制約によって制約されているため、クラス型の制約を指定すると冗長になります。
C#
// 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 { }
}
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
.NET に関するフィードバック
.NET はオープンソース プロジェクトです。 フィードバックを提供するにはリンクを選択します。