NameSpaceとクラス名が同じ場合にVisualStudioがうまく補完してくれない件について
「Hoge.Sample.Sample」という「Hoge.Sample」というNameSpaceに属している、「Sample」というクラスがあった場合、
「Hoge.Huga.Piyo」といった感じのクラスから、VisualStudioで下記のように記載してusingを補完しても正しく動作してくれない。
namespace Hoge.Sample { class Sample { } } namespace Hoge.Huga { class Piyo { // Type name expected, but namespace name found public Sample Sample; } }
エラーメッセージ
Type name expected, but namespace name found
エラーメッセージはしっかり出ているので、NameSpaceとクラス名が同じという事を知っていればそのままなんだけど。。。
その事実に気づかなかったので、何が悪いのかさっぱりわからなかった。
その名前はあったけど、NameSpaceだよ?どうするの?って言ってる訳ですな。
解決策としては手動でusingに「Sample」を追加すればOK。
NameSpaceとそれに属するクラス名が同じにすることはあまりないと思うんだけど、
こういう構成がそもそもよろしくないということなのかな。