Tôi đã tạo một cách để thêm động SettingsProperty
vào tệp .NET app.config
. Tất cả đều hoạt động độc đáo, nhưng khi tôi khởi chạy ứng dụng của mình vào lần tiếp theo, tôi chỉ có thể xem các thuộc tính được tạo trong trình thiết kế. Làm cách nào tôi có thể tải lại thời gian chạy thuộc tính?Làm cách nào để tải lại cài đặt được tạo động theo thời gian tiếp theo?
Mã của tôi để tạo SettingsProperty
trông giống như sau:
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();
}
Khi chạy sau tôi yêu cầu các tài sản thiết lập tôi không thể tìm thấy bất kỳ thuộc tính tạo previosuly. Không có vấn đề gì nếu tôi gọi số ApplicationEnvironment.GlobalSettings.Reload();
hay không.