Exporter (0) Imprimer
Développer tout
Développer Réduire
Cet article a fait l'objet d'une traduction automatique. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte. Informations supplémentaires.
Traduction
Source

Erreur du compilateur CS0703

Accessibilité incohérente : le type de contrainte 'identificateur' est moins accessible que 'identificateur'

Une contrainte ne peut pas forcer le paramètre générique à être moins accessible que la classe générique elle-même. Dans l'exemple suivant, alors que la classe générique C<T> est déclarée public, la contrainte tente de forcer T à implémenter une interface interne. Même si cela était autorisé, seuls les clients disposant d'un accès interne pourraient créer le paramètre pour la classe ; en conséquence, cette classe ne pourrait être utilisée que par les clients disposant d'un accès interne.

Pour supprimer cette erreur, assurez-vous que le niveau d'accès de la classe générique n'est pas moins restrictif que les classes ou interfaces qui figurent dans les limites.

L'exemple suivant génère l'erreur CS0703 :

// CS0703.cs
internal interface I {}
public class C<T> where T : I  // CS0703 – I is internal; C<T> is public
{
}

Ajouts de la communauté

AJOUTER
Afficher:
© 2014 Microsoft