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 型パラメータの制約

参照

概念

C# プログラミング ガイド

参照

C# のキーワード

演算子キーワード (C# リファレンス)

ジェネリック (C# プログラミング ガイド)

System.Collections.Generic

その他の技術情報

C# リファレンス