new 制約 (C# リファレンス)
更新 : 2007 年 11 月
new 制約は、ジェネリック クラス宣言内のすべての型引数に、パブリックなパラメータなしのコンストラクタが必要であることを示します。new 制約を使用する場合、型を抽象型にすることはできません。
使用例
new 制約は、次の例に示すように、ジェネリック クラスで型の新しいインスタンスを作成する場合に型パラメータに適用されます。
class ItemFactory<T> where T : new()
{
public T GetNewItem()
{
return new T();
}
}
new() 制約を別の制約と併用する場合、この制約を最後に指定する必要があります。
public class ItemFactory2<T>
where T : IComparable, new()
{
}
詳細については、「型パラメータの制約 (C# プログラミング ガイド)」を参照してください。
C# 言語仕様
詳細については、「C# 言語仕様」を参照してください。
4.4.4 制約の充足
10.1.5 型パラメータの制約