Frage

Wenn ich einem Projekt in Visual Studio 8 einen Assemblyverweis hinzufüge, wird die Aliases-Eigenschaft dieses Verweises auf „global“ gesetzt.Wofür ist diese Eigenschaft gut und warum ist sie auf „Global“ eingestellt?

MSDN sagt mir, dass dies eine Liste von Aliasnamen für die Assembly ist, aber nicht, warum ich diese Eigenschaft verwenden möchte oder warum die meisten den Alias ​​„global“ haben.

MSDN-Referenz

War es hilfreich?

Lösung

Dies gilt für „externe Aliase“.Angenommen, Sie möchten zwei verschiedene Typen verwenden, die beide aufgerufen werden Foo.Bar (d. h. Bar in einem Namensraum von Foo).Die beiden Typen befinden sich (per Definition) in unterschiedlichen Assemblys. Sie verwenden die Eigenschaft in VS, um jeder Referenz einen Alias ​​zuzuordnen. Anschließend können Sie Folgendes tun:

extern alias FirstAlias;
extern alias SecondAlias;

using FirstBar = FirstAlias::Foo.Bar;
using SecondBar = SecondAlias::Foo.Bar;

und dann verwenden FirstBar Und SecondBar in Ihrem Code.

Im Grunde handelt es sich also um eine zusätzliche Benennungsebene – und Sie sollten sie nur verwenden, wenn Sie es wirklich, wirklich müssen.Es wird viele Leute verwirren.Versuchen Sie, von vornherein zu vermeiden, in diese Situation zu geraten – aber seien Sie sich dieser Lösung bewusst, wenn Sie sie einfach nicht vermeiden können.

Andere Tipps

Suche nach „ extern alias "; es ist ein sehr selten genutztes Feature, das nur benötigt wird, zwischen zwei DLLs eindeutig zu machen, die die gleichen Typen (zum Beispiel zwei verschiedene Versionen derselben Baugruppe oder zwei Baugruppen, die eine Klasse, die einen vollqualifizierten Namen teilt) beitragen.

"global" ist die Standardeinstellung. Zum Beispiel, wenn Sie eine Klasse namens Foo.System haben, können Sie eindeutig das Haupt System Namespace über global::System beziehen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top