提供された app.config ファイルを編集できる簡単な小さな WinForms アプリを構築するのに忙しいです。クラスのラッパーを作成し、System.Configuration.Configuration
変更したいプロパティのみを公開しました。AppSettings
とConnectionStrings
(を使用して)を実行しましたがSqlConnectionStringBuilder
、現在は に移動してsystem.net/mailSettings
います。
私の現在の構造の要点は次のとおりです。
public class ServerConfigFile : ConfigFile
{
...
[Category("Database Connection Settings")]
[DisplayName("Connection String")]
[RefreshProperties(RefreshProperties.All)]
[Description("The connection string used to connect to the datasource. Default is \"(LocalDB)\\v11.0\"")]
public ConnectionStringBuilderFacade ConnectionString { get; private set; }
...
protected override void ReloadProperties()
{
this.ConnectionString = new ConnectionStringBuilderFacade(this.UnderlyingConfig.ConnectionStrings.ConnectionStrings["EntitiesContainer"]);
...
this.MailSettings = this.UnderlyingConfig.GetSectionGroup("system.net/mailSettings") as MailSettingsSectionGroup;
}
}
public abstract class ConfigFile
{
protected Configuration UnderlyingConfig { get; private set; }
...
public void RefreshFromFile(string exeFile)
{
this.UnderlyingConfig = ConfigurationManager.OpenExeConfiguration(exeFile);
this.ReloadProperties();
}
protected abstract void ReloadProperties();
}
構成ファイルから MailSettings を取得できました。
this.MailSettings = this.UnderlyingConfig.GetSectionGroup("system.net/mailSettings") as MailSettingsSectionGroup;
しかし、これは簡単なアプリであることを意図していたので、1 つの小さなセクションのためだけに TypeConverter と UITypeEditor 全体を書き出すのに時間を費やす準備ができていません。
必要なものは、smtp 設定、配信方法、受け取り場所 (配信方法が指定されている場合はディレクトリ)、ssl、ユーザー名、パスワード... であることがわかります。
私の質問:プラグ アンド プレイできる MailSettings 用の既存の PropertyGrid エディターはありますか?それとも、弾丸をかじって独自のものを展開する必要がありますか?