• ベストアンサー

C# usingの必要性について

C#について質問させてください。 サブディレクトリにあるcsファイルに記述されているクラスを参照する場合、usingディレクティブでサブディレクトリ名を宣言しないとクラス名のみでの宣言はできませんか? ちょっと伝わりにくいかと思うので、具体例を記載します。 プロジェクト直下にmain.csというファイルとSubというディレクトリがあり、Subディレクトリにsub.csというファイルがあるとします。 main.csのmainメソッドの中でSub s = new Sub();のような記述をしたい場合、using Sub;という記載は(名前空間の解決のために)必要ですか? 私は必要と考えているのですが、usingディレクティブがなくても参照できているコードがありましたので、疑問に思い質問させて頂きました。

質問者が選んだベストアンサー

  • ベストアンサー
  • ttkai00
  • ベストアンサー率58% (18/31)
回答No.2

ディレクトリ構造のせいではなく、名前空間が異なるせいです。同じ名前空間のコードからなら参照できます。今回の例ですと、 main.cs の名前空間と、sub.cs の名前空間が異なるのだと思います。 Visual Studio ではサブディレクトリの中にファイルを追加した場合、自動的に、既定の名前空間にサブディレクトリ名を付けた名前空間になるようになっています。 名前空間を揃えてやれば、ディレクトリが違ってもそのまま参照可能です。ただし、そちらの方が良いかどうかは考え方によると思います。私なら using を書くと思います。

ocelot14
質問者

お礼

よく分かりました。 丁寧な説明ありがとうございます。

その他の回答 (1)

  • masaota56
  • ベストアンサー率41% (58/139)
回答No.1

C#では必要ありませんよ。

ocelot14
質問者

お礼

回答ありがとうございます。