我创建了一个动态地将SettingsProperty
添加到.NET文件中的方法app.config
。这一切都很好,但是当我下次启动应用程序时,只能看到设计器中创建的属性。我如何加载属性运行时?下次如何加载动态创建的设置属性?
我为创建SettingsProperty
代码如下所示:
internal void CreateProperty<T>(string propertyName)
{
string providerName = "LocalFileSettingsProvider";
System.Configuration.SettingsAttributeDictionary attributes = new SettingsAttributeDictionary();
System.Configuration.UserScopedSettingAttribute attr = new UserScopedSettingAttribute();
attributes.Add(attr.TypeId, attr);
System.Configuration.SettingsProperty prop;
SettingsProvider provider = ApplicationEnvironment.GlobalSettings.Providers[providerName];
prop = new System.Configuration.SettingsProperty(
propertyName,
typeof(T),
provider,
false,
default(T),
System.Configuration.SettingsSerializeAs.String,
attributes,
false,
false
);
ApplicationEnvironment.GlobalSettings.Properties.Add(prop);
ApplicationEnvironment.GlobalSettings.Reload();
}
当下来看,我问的设置属性我找不到任何previosuly创建的属性。无论我是否拨打ApplicationEnvironment.GlobalSettings.Reload();
。