Hier ist eine Frage, die ich seit einiger Zeit hatte, aber nie wirklich dazu kam, zu fragen ...
In vielen der Designer-Dateien, die Visual Studio generiert, sind einige der Variablen mit dem Präfix global :: Kann jemand erklären, was das bedeutet, was dieses Präfix macht und wo sollte ich es verwenden?
Mit dem globalen Namespace-Qualifikationsmerkmal können Sie auf ein Mitglied im globalen ("leeren") Namespace zugreifen.
Wenn Sie einen nicht qualifizierten Typ aufrufen würden (z. B. MyClass.DoSomething () anstelle von MyNamespace.MyClass.DoSomething ()), wird davon ausgegangen, dass er sich im aktuellen Namespace befindet. Wie qualifizierst du den Typ, um zu sagen, dass er im globalen / leeren Namespace ist?
Dieses Codebeispiel (Konsolenanwendung) sollte sein Verhalten veranschaulichen:
%Vor%Das Präfix gibt den globalen Namespace an. Hier ist ein Beispiel:
%Vor%Beachten Sie, wie sich das Mitglied möglicherweise unbeabsichtigt auf die Foo.Bar.Gnat-Klasse bezieht. Um dies zu vermeiden, verwenden Sie das Präfix global ::.
global :: namespace qualifier wird in auto generated verwendet, um Kollisionen bei der Typauflösung durch verschachtelte Namespaces zu vermeiden.
Tags und Links c# namespaces