31 votes

Quelle est l'utilisation de global :: keyword en C #?

Quelle est l'utilisation de global:: mot clé en C #? Quand devons-nous utiliser ce mot-clé?

45voto

Anton Gogolev Points 59794

Techniquement, global n'est pas un mot clé: c'est un soi-disant "contextuelle" de mot-clé. Il a une signification particulière uniquement dans le contexte du programme et peuvent être utilisés comme identificateurs en dehors de ce contexte.

global peut et doit être utilisé chaque fois qu'il y a ambiguïté ou chaque fois qu'un membre est caché. À partir d' ici:

class TestApp
{
    // Define a new class called 'System' to cause problems.
    public class System { }

    // Define a constant called 'Console' to cause more problems.
    const int Console = 7;
    const int number = 66;

    static void Main()
    {
        // Error  Accesses TestApp.Console
        Console.WriteLine(number);
        // Error either
        System.Console.WriteLine(number);
        // This, however, is fine
        global::System.Console.WriteLine(number);
    }
}

Notez, cependant, que global ne fonctionne pas lorsque aucun espace de noms n'est spécifié pour le type:

// See: no namespace here
public static class System
{
    public static void Main()
    {
        // "System" doesn't have a namespace, so this
        // will refer to this class!
        global::System.Console.WriteLine("Hello, world!");
    }
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X