Partager via


Erreur du compilateur CS0314

Mise à jour : novembre 2007

Message d'erreur

Le type 'type1' ne peut pas être utilisé comme paramètre de type 'nom' dans le type ou la méthode générique 'nom'. Il n'y a pas de conversion boxing ou de conversion de paramètre de type de 'type1' en 'type2'.
The type 'type1' cannot be used as type parameter 'name' in the generic type or method 'name'. There is no boxing conversion or type parameter conversion from 'type1' to 'type2'.

Lorsqu'un type générique utilise un paramètre de type contraint, la nouvelle classe doit également satisfaire à ces contraintes.

Pour corriger cette erreur

  • Dans l'exemple suivant, ajoutez where T : ClassConstraint à la classe B.

Exemple

Le code suivant génère l'erreur CS0314 :

// cs0314.cs
// Compile with: /target:library
public class ClassConstraint { }

public class A<T> where T : ClassConstraint
{ }

public class B<T> : A<T> //CS0314
{ }

// Try using this instead.
public class C<T> : A<T> where T : ClassConstraint
{ }

Voir aussi

Référence

Contraintes sur les paramètres de type (Guide de programmation C#)