Heim  >  Artikel  >  Backend-Entwicklung  >  Namespace-Grundlagen in c# (2)

Namespace-Grundlagen in c# (2)

黄舟
黄舟Original
2016-12-19 10:32:161269Durchsuche

In einem NAMESPACE können wir auch einen Alias ​​verwenden, um auf einen vorhandenen NAMESPACE oder einen anderen Datentyp zu verweisen.

Das Format für die Verwendung von Aliasnamen lautet wie folgt:

using alias = an existence type;

Zum Beispiel: using soholife = System;


unten Lassen Sie uns unser Verständnis anhand einiger Beispiele vertiefen:

Namespace N1.N2

{

Klasse A {}

}

Namespace N3

{

using A = N1.N2.A;

class B: A {}

}

Hier ist A in N3 ein Alias ​​von N1.N2.A und N3.B erbt von N1.N2.A. Ebenso können wir den gleichen Effekt mit der folgenden Methode erzielen:

Namespace N3

{

using R = N1.N2;

Klasse B: R.A {}

}


sagte Hier möchte ich eine Frage stellen. Schauen wir uns das folgende Beispiel an:

namespace N1.N2

{

class A {}

}


Namespace N3

{

Klasse A {}

}


Namespace N3

{

using A = N1.N2.A;

}


Wenn wir so schreiben, wird es dann ein Problem geben?

Die Antwort ist natürlich ja, falsch! Da ein Alias ​​im NAMESPACE eindeutig sein muss und es oben bereits

class a{} gibt, verwenden wir using A =N1.NE.A;, also muss etwas schief gehen! Aber wenn wir:

B =N1.N2.A; verwenden sollten, was ist dann das Ergebnis? Freunde, denken Sie selbst darüber nach! Ich werde nicht viel mehr sagen!


Ich dachte, es wäre vorbei, aber plötzlich stellte ich fest, dass es eine Sache gibt, die ich noch nicht klar erklärt habe. Man kann sagen, dass ich es anscheinend noch nicht gesagt habe dass ich erst später nach Hause gehen kann. Schauen wir uns an:

Namespace N1.N2

{

Klasse A {}

}

Namespace N3

{

using R = N1.N2;

}

Namespace N3

{

Klasse B: R.A {}

}

Im obigen Beispiel weiß ich nicht, was Sie denken, ist es richtig? Fehler?

Wenn ich antworten würde, falsch! (Haha, ich habe mir in der Vergangenheit angewöhnt, Multiple-Choice-Fragen zu stellen. Jede Antwort auf eine solche Frage ist falsch! Aber ich kann dir den Grund nicht sagen!)


Wirklich, lasst uns Beginnen Sie mit dem oben genannten Programm. Ich dachte, es sei richtig, habe es aber später herausgefunden. . . , Leider scheint es, dass ich noch mehr Bücher lesen muss!

Es stellt sich heraus, dass bei Verwendung eines Alias ​​in einer separaten Einheit der Alias ​​nur in der Einheit verwendet werden kann, in der er sich befindet (NAMESPACE oder andere), nicht jedoch in anderen Einheiten, so das obige Beispiel Wenn Sie R im zweiten N3 verwenden, wird angezeigt, dass R unbekannt ist! Wenn wir diese Methode verwenden möchten, haben wir natürlich immer noch eine Möglichkeit, nämlich den Alias ​​R außerhalb von N3 zu schreiben: wie folgt

using R = N1.N2;

Namespace N3

{

Klasse B: R.A {}

}


Okay, nachdem ich so viel gesagt habe, wenn ich alles verstehen kann, denke ich Ich sollte jetzt ein paar Ideen zu NAMESPACE haben! Wenn das gelingt, ist mein Ziel erreicht!

Das Obige ist der Inhalt der Namespace-Grundlagen (2) in c#. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php.cn)!


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:Namespace-Grundlagen in c# (1)Nächster Artikel:Namespace-Grundlagen in c# (1)