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 パラメーター制約に関するセクションを参照してください。
こちらも参照ください
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
.NET