如何向Properties.Settings添加新属性?

时间:2013-12-19 12:40:52

标签: c# properties settings

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

1 个答案:

答案 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