更新 : 2007 年 11 月
エラー メッセージ
'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() {}
}