我想在运行时向Properties.Settings添加一个新属性,但我不知道它是如何工作的。语言:c# 我用过这个代码:
Properties.Settings.Default.Properties.Add(new System.Configuration.SettingsProperty(serviceName + "VersionsNr"));
Properties.Settings.Default.Save();
Properties.Settings.Default[serviceName + "VersionsNr"] = versionsNr;
Properties.Settings.Default.Save();
我收到NullReferenceException。
答案 0 :(得分:2)
设置属性名称是不够的。您还应至少定义属性属性和设置提供程序。设置此信息的最简单方法是使用现有属性中的信息。例如,如果您已经使用了从文件读取/存储属性值的设置,并且您还打算使用配置文件,则解决方案如下:
var existingProperty = Settings.Default.Properties["<existing_property_name>"];
var property = new System.Configuration.SettingsProperty(
"<new_property_name>",
typeof(string),
existingProperty.Provider,
false,
null,
System.Configuration.SettingsSerializeAs.String,
existingProperty.Attributes,
false,
false);
Settings.Default.Properties.Add(property);
如果您需要新的内容,可以找到示例代码here。