ConfigurationElement设置null默认值

时间:2017-04-19 10:25:50

标签: c# app-config custom-configuration configurationelement

App.config中的自定义配置部分存在一个小问题。 问题是:我有一个CustomElement(让我们称之为' a')其属性CustomElement为另一个(让我们称之为' b')。

我希望只有在指定为辅助元素时才将b作为非空值。

例如

在这种情况下,我有一个b不为空,这没关系。

<a prop_a1="" prop_a2="">
    <B prop_b1 = "" />
</ A>

但是,在下面的例子中,b应该为null,但不是。

<a prop_a1="" prop_a2="" />

在案例2中是否可以使用空值?

感谢所有想要帮助我的人。

public class Cfg : ConfigurationElement
{
        [ConfigurationProperty("prop", IsRequired = true)]
        public ErrorCfg Prop
        {
            get { return (string)this["prop"]; }
            set { this["prop"] = value; }
        }
}

public class ErrorCfg : ConfigurationElement
{
    [ConfigurationProperty("prop1", IsRequired = true)]
    public string Prop1
    {
        get { return (string)this["prop1"]; }
        set { this["prop1"] = value; }
    }

    [ConfigurationProperty("prop2", IsRequired = true)]
    public string Prop2
    {
        get { return (string)this["prop2"]; }
        set { this["prop2"] = value; }
    }
}

if (_cfgItem.ErrorCfg != null)
{....}

在这种情况下,ErrorCfg不为null,但Prop1和Pro2为空字符串

1 个答案:

答案 0 :(得分:0)

我认为这是不可能的。但是您可以找出配置文件中是否存在BMUserSettings.shared.currOptionsSelected[.brand] = "Snackable" BMUserSettings.shared.saveToUserDefaults() BMUserSettings.shared.loadFromUserDefaults() print(BMUserSettings.shared) BMUserSettings.shared.categories.forEach { print($0.rawValue, ":", BMUserSettings.shared.currOptionsSelected[$0]!) }

ConfigurationElement