c#
命令の最良の位置:命名スペースまたは名前スペースの中にありますか?
using
C#コードを書くとき、特にStylecopがそれらを名前空間に入れることを提案する場合、命令の配置はしばしば混乱します。これはランダムに規定されているようですが、2つの方法にはわずかな違いがあります。
例を見てみましょう。
using
ファイルを追加すると、コンテンツは次のとおりです。
File1.cs
<code class="language-csharp">using System; namespace Outer.Inner { class Foo { static void Bar() { double d = Math.PI; } } }</code>
名前付きスペースを優先し、File2.cs
故障への参照を引き起こします。これは、コンパイラが最初に最近の閉じた名前スペースのシンボルを分析しようとするためです。
<code class="language-csharp">namespace Outer { class Math { } }</code>
Outer
using
コンパイラは、最初にSystem.Math
命名スペースでシンボルを検索し、次に
の参照を正しく分析します。 using
<code class="language-csharp">namespace Outer.Inner { using System; class Foo { static void Bar() { double d = Math.PI; } } }</code>
にSystem
>> destionの位置にOuter
を追加すると、System.Math
コンピレーション障害が発生します。
したがって、競合の名前を避け、コードの正確性を確保するためには、Foo
命令を名前空間に配置することをお勧めします。 namespace Outer
以上がc# `sead`ディレクティブは名前空間の内側または外側にある必要がありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。