new, contrainte (référence C#)
La contrainte new
spécifie que tout argument de type dans une déclaration de classe ou de méthode générique doit avoir un constructeur sans paramètre public. Pour utiliser la contrainte new
, le type ne doit pas être abstract.
Appliquez la contrainte new
à un paramètre de type quand une classe générique crée des instances du type, comme illustré dans l’exemple suivant :
class ItemFactory<T> where T : new()
{
public T GetNewItem()
{
return new T();
}
}
Si vous utilisez la contrainte new()
avec d’autres contraintes, spécifiez-la en dernier :
public class ItemFactory2<T>
where T : IComparable, new()
{ }
Pour plus d’informations, consultez Contraintes sur les paramètres de type.
Vous pouvez également utiliser le mot clé new
pour créer une instance d’un type ou l’utiliser comme un modificateur de déclaration de membre.
spécification du langage C#
Pour plus d’informations, consultez la section Contraintes de paramètre de type de la spécification du langage C#.