J'ai un message dont je ne parviens pas a comprendre la raison
Dans une classe, je declare une classe Rue, elle est public
public class Rue
{
private int _id;
private string _nom;
public int Id
{
get { return _id; }
set { _id = value; }
}
public string Nom
{
get { return _nom; }
set { _nom = value; }
}
}
Dans une form je declare une List publique de Rues
public partial class FrmStatArea : Form
{
public List<ReadCPRues.Rue> Rues = null;
A la compilation il me signale un inconsistece d'accessibilité : Pourquoi
Inconsistent accessibility:
field type 'System.Collections.Generic.List<Recutex.ReadCPRues.Rue>'
is less accessible than field
'RTPannel.FrmStatArea.Rues'
Oui, les classes dont l'accessibilité n'est pas spécifiée sont private...
Mais c'est une bonne pratique de mettre tout le temps le mot clef, même quand c'est private.
Top-level types, which are not nested into other types, can only have internal or public accessibility. The default accessibility for these types is internal.
Nested types, which are members of other types, can have declared accessibilities as indicated in the following table. etc...
Ha oui tu as raison.
En fait ça n'a pas de sens de déclarer une classe private si elle n'est pas nested, d'ailleurs le compilateur ne le permet pas.
Mais bon, ce genre de problème ne se passe JAMAIS si on a l'habitude de tout le temps indiquer le mot clef (accesssibilité) qui va avec... on est quitte de se casser la tête avec des choses comme ça !