Erreur du compilateur CS0456
Le paramètre de type 'nom_paramètre_type1' a la contrainte 'struct', donc 'nom_paramètre_type1' ne peut pas être utilisé comme contrainte pour 'nom_paramètre_type2'
Les contraintes de type valeur sont implicitement sealed. Ainsi, ces contraintes ne peuvent pas être utilisées comme contraintes sur un deuxième paramètre de type. Cela est dû au fait que les types valeur ne peuvent pas être substitués. Pour résoudre cette erreur, placez une contrainte de type valeur directement sur le deuxième paramètre de type, plutôt qu’indirectement par le premier paramètre de type.
L’exemple suivant génère l’erreur CS0456.
// CS0456.cs
// compile with: /target:library
public class GenericsErrors
{
public class G5<T> where T : struct
{
public class N<U> where U : T {} // CS0456
public class N2<U> where U : struct {} // OK
}
}
Commentaires sur .NET
.NET est un projet open source. Sélectionnez un lien pour fournir des commentaires :