クリエイターの教科書

ChatGPT, Stable Diffusion, Visual Studio, Excelなど教科書

【Visual Studioの教科書】C#で「名前つけルール違反」や「オブジェクトの初期化を簡略化」をなくすには?

C#でビルドをかけると、エラーはもちろんのこと様々なメッセージも出てきます。

しかしたくさん出てくると、大事なものを見逃してしまうかもしれませんので、メッセージが出ないようにする対処についてまとめてみました。

C#のメッセージfear? determination? confusion?  Yes.

エラー一覧では、エラーではなくアドバイス的なメッセージが多数出ます。

f:id:apicode:20200130164450p:plain

直接的なエラーにはならないので無視してもいいのですが、できば警告がないきれいな状態でソフトを完成させたいです。

 

メッセージを表示させない

個別のメッセージは、右クリックメニューから「重要度の設定>なし」にすると表示されなくなります。

f:id:apicode:20200131140817p:plain

 

名前つけルール違反

関数名が大文字ではじまってない...というだけで指摘されてしまうメッセージです。たいした問題ではないのですが、これの数が多すぎて、ほかのメッセージをみるのはしんどいので、できればオフりたいです。

 

「ツール>オプション>テキストエディタ>C#>コードスタイル>名前指定」にある項目を削除しても治らず。

 

「ツール>オプション>テキストエディタ>C#>コードスタイル>名前指定」で「名前つけスタイルを管理する」で「パスカルコード」を選択。

「大文字化」で「すべて小文字にする」にしたらエラーがでなくなりました。

 

ただしトライアルでやっただけなので、この通りで治るとか、この通りやってほかのエラーが出ない...とかはわかませんので注意ください。

f:id:apicode:20200130165835p:plain

 

オブジェクトの初期化を簡略化できます。

C#ではオブジェクトのプロパティをソース上で指定したい場合があります。

わかりやすい例ではオープンファイルダイアログで初期ディレクトリや拡張子なんかがあります。

OpenFileDialog ofd = new OpenFileDialog();

ofd.InitialDirectory = System.Environment.GetFolderPath(Environment.SpecialFolder.CommonVideos);
ofd.Filter = "動画ファイル(*.avi;*.mp4;*.mov)|*.avi;*.mp4;*.mov|すべてのファイル(*.*)|*.*";
ofd.FilterIndex = 0;
ofd.Title = "動画ファイルを選択してください";

 

上記のようなものは「{};」でかこって、「オブジェクト名+ドット」の記述を不要にしてプロパティへの挿入を「,」で区切って羅列することができます。

OpenFileDialog ofd = new OpenFileDialog() {

InitialDirectory = System.Environment.GetFolderPath(Environment.SpecialFolder.CommonVideos),
Filter = "動画ファイル(*.avi;*.mp4;*.mov)|*.avi;*.mp4;*.mov|すべてのファイル(*.*)|*.*",
FilterIndex = 0,
Title = "動画ファイルを選択してください"
};

 

慣れると、これはこれで便利かなとは思います。

 

 

複合代入を使用

「A=A+1」を「A+=1」のように書けばオッケーです。

単に好き嫌いでどちらの書き方でもいいとは思うんですけど。。。。

 

このブログは、ネットや書籍上の情報、個人の体験や感想を中心にまとめたものです。 正確性を期していはいますが、間違い・誤訳等あるかもしれません。 当サイトの情報によって生じたいかなる損失について一切の責任を負わないものとします. あらかじめご了承ください。

プライバシーポリシー |〇利用規約 |〇問い合わせ