Bonjour,

Je suis tombé sur cette exemple que je n'ai pas trouvé d'explication :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
 
    interface IVehicule
    { 
        void Demarrer(); 
    }
 
    class VoitureVW
    {
        public virtual void Demarrer()
        {
            Console.WriteLine("Demarrer la voiture");
        }
    }
 
    class Voiture : VoitureVW, IVehicule
    {
        public new void Demarrer()
        {
            Console.WriteLine("Redéfinition");
        }
 
        public void IVehicule.Demarrer()
        {
            Console.WriteLine("Implémentation");
        }
 
        public static void Main(string[] args)
        {
            Voiture v = new Voiture();
            v.Demarrer();
        }
    }
Le problème vient du modificateur mais d’après la documentation msdn lors de l'implémentation on peut définir la visibilité.
Est-ce que l'implémentation explicite interdit la spécification du modificateur d'accès? Si c'est le cas est ce que IVehicule.Demarrer aura une visibilité internal ou public?


Merci,