コンパイラ エラー CS0451
'new()' 制約は 'struct' 制約と一緒には使用できません。
ジェネリック型に対して制約を指定するとき、 new()
制約は、クラス型制約、インターフェイス型制約、参照型制約、型パラメーター制約と組み合わせた場合のみ使用できます。値型の制約と組み合わせて使用することはできません。
次の例では CS0451 が生成されます。
// CS0451.cs
using System;
public class C4
{
public void F4<T>() where T : struct, new() {} // CS0451
}
// OK
public class C5
{
public void F5<T>() where T : struct {}
}
public class C6
{
public void F6<T>() where T : new() {}
}
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
.NET に関するフィードバック
.NET はオープンソース プロジェクトです。 フィードバックを提供するにはリンクを選択します。