我忙於構建一個快速的小WinForms應用程序,該應用程序允許編輯提供的app.config文件。我在System.Configuration.Configuration
類中創建了一個包裝,只顯示了我想更改的屬性。我已完成AppSettings
和ConnectionStrings
(使用SqlConnectionStringBuilder
),現在我正在轉向system.net/mailSettings
。將配置文件MailSettings添加到PropertyGrid
這是我目前的結構的要點:
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;
但因爲這本來是一個快速的應用程序,我還沒有準備好花時間爲一個小部分寫出整個TypeConverter和UITypeEditor。
可以看出,所需的內容是 - SMTP設置,配送方式,取貨地點(如果交付方法是specifiedDirectory),SSL,用戶名,密碼......
我的問題:是那裏有任何現有的MailSettings PropertyGrid編輯器,我可以即插即用,或者我必須咬緊牙關並推出自己的產品,或者您有沒有優秀的人員爲我提供更好的解決方案?