ConfigurationProperty没有返回DefaultValue,因为它不存在

时间:2014-12-01 21:30:27

标签: c# configuration system.configuration

[ConfigurationProperty("spatialSRID", DefaultValue = 4326)]
public int SpatialSRID
{
    get { return (int)this["SpatialSRID"]; }
    set { this["SpatialSRID"] = value; }
}

我对上面代码的理解是,如果我没有在我的web.config文件中定义“SpatialSRID”部分,它将采用返回4326,因为它已被设置为默认值。 但是它返回null,因此我的代码爆炸了。

现在我知道我可以检查空值,但我认为这是DefaultValue的目的。

1 个答案:

答案 0 :(得分:1)

问题:区分大小写

[ConfigurationProperty("spatialSRID", DefaultValue = 4326)]
public int SpatialSRID
{
    get { return (int)this["spatialSRID"]; }
    set { this["spatialSRID"] = value; }
}