次の方法で共有


new 制約 (C# リファレンス)

new制約は、ジェネリック クラスまたはメソッド宣言の型引数に、パラメーターなしのパブリック コンストラクターが必要であることを指定します。 new制約を使用するには、型を抽象にすることはできません。

次の例に示すように、ジェネリック クラスが型の新しいインスタンスを作成するときに、 new 制約を型パラメーターに適用します。

class ItemFactory<T> where T : new()
{
    public T GetNewItem()
    {
        return new T();
    }
}

new()制約を他の制約と共に使用する場合は、最後に指定する必要があります。

public class ItemFactory2<T>
    where T : IComparable, new()
{  }

詳細については、「型パラメーターの制約」を参照してください。

new キーワードを使用して、型のインスタンスを作成したり、メンバー宣言修飾子として作成したりすることもできます。

C# 言語仕様

詳細については、C# 言語仕様Type パラメーター制約に関するセクションを参照してください。

こちらも参照ください