Partager via


Erreur du compilateur CS0451

Mise à jour : novembre 2007

Message d'erreur

La contrainte 'new()' ne peut pas être utilisée avec la contrainte 'struct'
The 'new()' constraint cannot be used with the 'struct' constraint

Lors de la spécification de contraintes sur le type d'un générique, la contrainte new() peut être utilisée uniquement avec des contraintes de type classe, des contraintes de type interface, des contraintes de type référence et des contraintes de paramètre de type, mais pas avec des contraintes de type valeur.

Exemple

L'exemple suivant génère l'erreur CS0451.

// CS0451.cs
using System;
public class C4 
{
   public void F4<T>() where T : struct, new() {}   // CS0451
}

// OK
public class C5
{
   public void F5<T>() where T : struct {}
}

public class C6
{
   public void F6<T>() where T : new() {}
}