Heim >Backend-Entwicklung >C++ >Sollte C# `Verwenden von Anweisungen innerhalb oder außerhalb des Namespace sein?
c#
Anweisung: Ist es der Namensraum im Namensraum?
using
StyleCop empfiehlt Anweisungen in der Anweisung des Namensraums. Obwohl es keinen direkten technischen Grund dafür gibt, wirkt sich dies geringfügig auf die Wartung des Codes aus.
Betrachten Sie zwei Dateien in einem C# -Projekt: Datei1 und Datei2. In Datei1 werden Anweisungen für System.math verwendet und außerhalb des Namensraums platziert. using
Angenommen, Datei2 führt eine benutzerdefinierte Klasse namens Outer.math ein. Der Compiler sucht nach der Suche nach dem Namen der Anweisungen nach der Suche nach und bietet Priorität bei der Auswahl von äußeren.math anstelle von System.math. Wenn Outer.math keine PI -Mitglieder wie System.math hat, ist Datei1 ungültig. using
<code class="language-csharp">// File1.cs using System; namespace Outer.Inner { // ... }</code>
using
Jetzt sucht das Compiler -System vor dem System von System.math und vermeidet dieses Problem.
Obwohl einige Leute denken, dass es aufgrund der Existenz von System.math nicht ratsam ist, Mathematik als Klassenname zu verwenden, aber dieses Beispiel zeigt den subtilen Unterschied zwischen der Platzierung using
im Namensraum oder dem Namensraum. Dieser Unterschied kann auch die Wartung des Codes beeinflussen.
<code class="language-csharp">// File1b.cs namespace Outer.Inner { using System; // ... }</code>Wenn sich das FOO nicht im äußeren Namensraum befindet, anstatt im Namen des Out.innern -Namens, unabhängig von der Anweisung
wird die Hinzufügung von Out.math in die Datei2 die Datei1 zerstören. Dies bedeutet, dass der Compiler die innerste Schicht des Namensraums durchsucht, bevor der Anweisungen
überprüft werden.Das obige ist der detaillierte Inhalt vonSollte C# `Verwenden von Anweisungen innerhalb oder außerhalb des Namespace sein?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!