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#)