C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[2]: Properties.Settingsにコメントを付けたい


(過去ログ 170 を表示中)

[トピック内 3 記事 (1 - 3 表示)]  << 0 >>

■98174 / inTopicNo.1)  Properties.Settingsにコメントを付けたい
  
□投稿者/ かな (1回)-(2021/10/07(Thu) 17:13:38)

分類:[.NET 全般] 

Visual Studio 2019のC#でフォームアプリケーションの開発をしており、
[プロジェクト名].Properties.Settingsを設定値の保存に利用しています。

このSettingsの各プロパティに ///<summary> みたいなコメントを付けたいです。
(プロパティにマウスを乗せたときにコメントが出てきてくれればその書き方でなくてもいいです。)

このプロパティ群がだいぶ膨らんできていまして、
初期に深く考えずに付けた名前などはぱっと見て意味がわからないものもあり、
互換性を維持しなければならない関係で名前を変更することもできず、せめてコメントを付けられたらなあと思った次第です。
プロパティ群は設定デザイナーがSettings.Designer.csに書いてくれているので直接編集するわけにいきませんよね。

実現する方法、もしくは他に何かいい提案がありましたら教えていただけると幸いです。
よろしくお願いします。
引用返信 編集キー/
■98175 / inTopicNo.2)  Re[1]: Properties.Settingsにコメントを付けたい
□投稿者/ WebSurfer (2355回)-(2021/10/07(Thu) 18:01:43)
No98174 (かな さん) に返信

未検証・未確認ですが・・・

Settings クラスは partial として定義されているので、別ファイルに定義するとかで何か
できるかもしれません。

以下のようなことなら可能です。コメントを付けるのはできるかどうかわかりませんが。

EDM にデータアノテーション属性を付与
http://surferonwww.info/BlogEngine/post/2017/05/21/how-to-add-dataannotation-attributes-to-edm-generated-by-visual-studio.aspx
引用返信 編集キー/
■98176 / inTopicNo.3)  Re[2]: Properties.Settingsにコメントを付けたい
□投稿者/ かな (2回)-(2021/10/08(Fri) 09:54:17)
No98175 (WebSurfer さん) に返信

返信ありがとうございます。
partial クラスってこういったことができるんですね!これは知りませんでした。
活用するタイミングがあるかもしれませんので覚えておきます。
ドキュメントコメントを付けて試してみましたが、属性でないからか上手くいきませんでした。


partial クラスであることが利用できるかもしれないという考えで
いろいろ試してみたところ実現方法が見つかりましたので記しておきます。

コメント用のインターフェイスを作成して、partial な Settings クラスに実装し、
Settings クラス自体に inheritdoc タグを付けるという方法です。

以下のようなコードになります。

namespace プロジェクト名.Properties {
    interface ISettings {
        /// <summary>
        /// Hogehogeプロパティに付けたいコメント
        /// </summary>
        int Hogehoge { get; set; }
    }
    
    ///<inheritdoc/>
    partial class Settings : ISettings {
    }
}

記述としてはシンプルですが、インターフェイスを後付けして
このように書くのが作法的にいいのかわからなくてちょっとモヤモヤします。

設定プロパティを増やす度に設定デザイナーとインターフェイスの
両方に手を加える必要があるのもやや手間です。

実際は全てではなくコメントを付けたいものだけ記述すればいいのですが、
そうすると ISettings が謎のインターフェイスになってしまいます。

もっと良い方法、あるいは別の実現方法がありましたら教えていただきたいので、
もう少し解決済みをマークせずにおかせていただきます。

引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -