Vous devez être membre et vous identifier pour publier un article.
Les visiteurs peuvent toutefois commenter chaque article par une réponse.
[C#] Inconsistent accessibility
Article publié le 15/10/2006 21:32:41Si l'éditeur Visual Studio refuse de compiler en affichant une erreur de ce type :
Error 1 Inconsistent accessibility: base class 'heritage.Personne' is less accessible than class 'heritage.Lecteur' C:\Documents and Settings\steph\Local Settings\Application Data\Temporary Projects\heritage\Lecteur.cs 8 18 heritage
Il faut vérifier les niveaux d'accessibilité des classes.
Dans le cas de cet exemple, la classe Personne n'avait pas de niveau définit, mais la classe Lecteur (qui hérite de la classe Personne) avait un niveau d'accessibilité plus visible (ici public).
Code c# (88 lignes)
class Personne { private String nom; private String prenom; ///‹summary› ///Constructeur ///‹/summary› ///‹param name="nom"›Nom de la personne‹/param› ///‹param name="prenom"›Prénom de la personne‹/param› public Personne(String nom, String prenom) { this.nom = nom; this.prenom = prenom; } ///‹summary› ///Retourne le nom de la personne ///‹/summary› public String getNom() { return nom; } ///‹summary› ///Retourne le prénom de la personne ///‹/summary› public String getPrenom() { return prenom; } } public class Lecteur : Personne { private DateTime inscription; private ArrayList emprunts; ///‹summary› ///Constructeur ///‹/summary› ///‹param name="nom"›Nom du lecteur‹/param› ///‹param name="prenom"›Prénom du lecteur‹/param› ///‹param name="inscription"›Date d'inscription‹/param› public Lecteur(String nom, String prenom, DateTime inscription) : base (nom, prenom) { this.inscription = inscription; } ///‹summary› ///Retourne la liste des livres empruntés par ce lecteur en ce moment ///‹/summary› public ArrayList getEmprunts() { return emprunts; } ///‹summary› ///Retourne la date d'inscription de ce lecteur ///‹/summary› public DateTime getInscription() { return inscription; } ///‹summary› ///Ajoute un livre aux livres empruntés par ce lecteur en ce moment ///‹/summary› ///‹param name="livre"›Livre emprunté‹/param› public void emprunte(Livre livre) { emprunts.Add(livre); } ///‹summary› ///Rapporte un livre à la bibliothèque ///Enlève donc le livre de ses livres empruntés en ce moment ///‹/summary› ///‹param name="livre"›Livre rapporté‹/param› public void rapporte(Livre livre) { emprunts.Remove(livre); } }
Un article de Steph
Source : indéterminée
English translation
You have asked to visit this site in English. For now, only the interface is translated, but not all the content yet.If you want to help me in translations, your contribution is welcome. All you need to do is register on the site, and send me a message asking me to add you to the group of translators, which will give you the opportunity to translate the pages you want. A link at the bottom of each translated page indicates that you are the translator, and has a link to your profile.
Thank you in advance.
Document created the 13/09/2004, last modified the 26/10/2018
Source of the printed document:https://www.gaudry.be/en/ast-rf-372.html
The infobrol is a personal site whose content is my sole responsibility. The text is available under CreativeCommons license (BY-NC-SA). More info on the terms of use and the author.