Frage

Hier liegt das Problem: Sie schließen mehrere Assemblys ein und fügen oben in Ihrer Codedatei „using namespaceX“ hinzu.
Jetzt möchten Sie eine Klasse erstellen oder ein Symbol verwenden, das in mehreren Namespaces definiert ist, z. B. System.Windows.Controls.Image & System.Drawing.Image

Wenn Sie nun nicht den vollständig qualifizierten Namen verwenden, wird aufgrund der Mehrdeutigkeit trotz der richtigen „using“-Deklarationen oben ein Crib-/Build-Fehler auftreten.Was ist hier der Ausweg?

(Ein weiterer Wissensdatenbankbeitrag..Ich habe die Antwort nach etwa 10 Minuten Suche gefunden, weil ich nicht wusste, nach welchem ​​Schlüsselwort ich suchen sollte.)

War es hilfreich?

Lösung

Alias ​​verwenden

using System.Windows.Controls;
using Drawing = System.Drawing;

...

Image img = ... //System.Windows.Controls.Image
Drawing.Image img2 = ... //System.Drawing.Image

Wie man:Verwenden Sie den Namespace-Alias-Qualifizierer (C#).

Andere Tipps

Diese Seite hat eine sehr gute Zuschreibung auf Namensräume und die using-Anweisung:

http://www.blackwasp.co.uk/Namespaces.aspx

Sie möchten den Teil über „Erstellen von Aliases“ lesen, die es Ihnen erlaubt, einen Aliasnamen zu machen für eine oder beide der Namensräume und verweisen sie damit wie folgt aus:

using ControlImage = System.Windows.Controls.Image;
using System.Drawing.Image;

ControlImage.Image myImage = new ControlImage.Image();
myImage.Width = 200;
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top