名前空間(ネームスペース)の同期【C#,.NET6 or .NETFramework】

当サイトではアフィリエイト広告を利用しています。

今回はネームスペースの話をします。

この部分ですね...

このネームスペースとフォルダー構成を合わせているという方も多いと思うのですけど、ファイルを移動とかしているうちにネームスペースとフォルダー構成が合ってないということが起こると思うのですけど、それをVisualStudio2022では自動でリファクタリングしてくれる、同期をとってくれるという機能がついているので、それを見ていきたいと思います。

まずClass1なのでこれなのですけど...

AAAフォルダーの下にClass1があるので、このネームスペースは、WinFormsApp1.AAAにしたいわけです。手で「.AAA」って書けばOKなのですけど、そうしなくてもコントロールをしながら「.」ってやると...

フォルダー構造に合わせてネームスペース変更してくださいって出るので、これを選べばOKです。コントロール押しながら「.」じゃなくても、

こういう電球マークみたいなやつ...

が出てきたら、それを押して選んでもらってもOKです。

あとはドラッグドロップ、このソリューションエクスプローラでドラッグドロップしても、例えばルートにおきますと、

そうしたら移動したファイルの名前空間変えますかって言ってくるので...

これではいにしたらネームスペースが変わりますね。

またAAAにかえしても、

AAAになっていますという感じです。

あとはプロジェクト丸ごと一括でというのもできますね。

Class1とClass2があって、

なんか変なネームスペースになっていますという場合も、

プロジェクト右クリックしたら名前空間の同期というのがあるので、

これ押したら一撃で変わりますね。

一撃で変わるのでちょっと不安だなという場合もあると思うので、そういう場合は1個1個、最初に言ったやり方でやってもらったらいいと思います。一撃で行くぜという人はやってみてください。あと注意点としては、このファイル移動でこう出てくるポップアップのメッセージで変えられるやつは.NETFrameworkではどうも使えないっぽいんです。

Windowsフォームアプリケーション(.NETFramework)というこの.NETFrameworkのやつでやると、

ファイル移動しても変更されません。

このフォルダー丸ごと変換にも対応していないようです。

コントロールしながら「.」で、「名前空間変更します」があるので、これは使えそうです。.NET6の方でやる分には最初言ったやり方でできるのでそんな感じで使ってみてください。