C#で手順を使用することの配置:要因を考慮してください
StyleCopでC#コードを分析する場合、名前空間内に使用命令を配置することについての警告を受ける場合があります。問題は、これに技術的な理由はありますか?
配置の影響
命令スペースの内側または外側に使用命令を置くと、コード動作が微妙に変更される場合があります。次のコード構造を検討してください
別のファイル(file2.cs)を追加すると、次のコンテンツがあります。使用命令が名前空間の外側にある場合、コンパイラはsystem.mathの代わりにoutr.mathを優先します。
<code class="language-csharp">// File1.cs using System; namespace Outer.Inner { class Foo { static void Bar() { double d = Math.PI; } } }</code>
名前スペースの名前の配置
<code class="language-csharp">// File2.cs namespace Outer { class Math { } }</code>
名前空間内に使用命令を配置することにより、コンパイラの順序が変更されます。 system.mathは、コード割り込みの問題を解決するOut.mathによって好まれます。
ネーミングスペースがネストされて配置されています さらに、命令を使用する前に、最も内側の閉じた名前スペースを検索します。 Fooが使用in命令の配置に関係なく、外側の命名スペース(外側ではなく)に属している場合、autr.mathをFile2に追加するとFile1が破壊されます。
結論<code class="language-csharp">// File1b.cs namespace Outer.Inner { using System; class Foo { static void Bar() { double d = Math.PI; } } }</code>
以上がディレクティブの使用は、C#の名前空間の内側または外側の名前を配置する必要がありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。