c#
命令:スペースまたは屋外を呼び出しますか?
using
stylecopでC#コードをチェックする場合、警告を受け取る場合があり、名前空間で命令ステートメントをお勧めします。一部の開発者は、それらを名前スペースの外に置く傾向があるかもしれませんが、実際にそれらを名前空間に入れることを検討する技術的な理由があります。
ファイル組織の影響using以下に示すように、2つのファイル、file1.csとfile2.csを想像してみてください。
file1.cs:file2.cs:
が命名スペース(file1.csなど)の外側に配置されている場合、コンパイラは内部ネームスペースの検索を優先します。したがって、system.mathの代わりにouter.mathが見つかります。 outr.mathに必要なメンバーが不足している場合、これはエラーを引き起こす可能性があります。
解決策:名前のスペースに<code class="language-csharp">using System; namespace Outer.Inner { class Foo { static void Bar() { double d = Math.PI; } } }</code>
を配置 名前空間(次のfile1b.csに示されているように)にを配置することで、内部名スペースを検索する前に検索システムを確保できます。 この場合、コンパイラはSystem.mathを見つけて、異なる命令スペースでの競合の定義によって引き起こされる潜在的なエラーを解決することができます。
<code class="language-csharp">namespace Outer { class Math { } }</code>予防策
using
さらに、命令が命名スペースにある場合、コンパイラはusing
命令を検索する前に、最も内側の閉じた名前スペースを検索します。これは、file2.csにover.mathを追加すると、命令がどこに配置されても、file1.csを破壊することを意味します。
以上がc# `sead`ディレクティブは、名前空間の内側または外側に配置する必要がありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。