C# 如何将新属性添加到Properties.Settings?

C# 如何将新属性添加到Properties.Settings?,c#,properties,settings,C#,Properties,Settings,我想在运行时向Properties.Settings添加一个新属性,但我不知道它是如何工作的。语言:c# 我使用了以下代码: Properties.Settings.Default.Properties.Add(new System.Configuration.SettingsProperty(serviceName + "VersionsNr")); Properties.Settings.Default.Save(); Properties.Settings.Default[service

我想在运行时向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。

设置属性名是不够的。您还应该至少定义属性和设置提供程序。设置此信息的最简单方法是使用现有属性中的信息。例如,如果您已经使用从文件读取/存储属性值的设置,并且还打算使用配置文件,则解决方案如下:

        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);
var existingProperty=Settings.Default.Properties[“”];
var property=new System.Configuration.settings属性(
"",
类型(字符串),
existingProperty.Provider,
假,,
无效的
System.Configuration.SettingsSerializeAs.String,
existingProperty.Attributes,
假,,
假);
Settings.Default.Properties.Add(属性);
如果您需要一些新的东西,您可以找到示例代码