我正在尝试使用.NET配置并了解自定义部分,元素等.
似乎实现这些自定义部分需要显式声明getter和setter,通常会导致代码膨胀.
例如这里:
http://msdn.microsoft.com/en-us/library/2tw134k3.aspx
具体来说,我们似乎有必要在get和set方法中显式返回和设置内容.
// Create a "remoteOnly" attribute.
[ConfigurationProperty("remoteOnly", DefaultValue = "false", IsRequired = false)]
public Boolean RemoteOnly
{
get
{
return (Boolean)this["remoteOnly"];
}
set
{
this["remoteOnly"] = value;
}
}
Run Code Online (Sandbox Code Playgroud)
有以下几点
[ConfigurationProperty("remoteOnly", DefaultValue = "false", IsRequired = false)]
public Boolean RemoteOnly { get; set }
Run Code Online (Sandbox Code Playgroud)
不等同于上述.
这是真的吗 - 即使有这样的香草属性,我们也必须冗长吗?
是的,因为你依赖的是外部存储机制(基类的字典最终会填充配置文件).
另外,如果你担心代码臃肿,你会担心错误的事情.写一次,再也不看了.您不应该有太多代码处理自定义配置设置,它会使您的代码库膨胀.可能是一个小小的凹凸,但不是臃肿.此外,我很高兴你现在处理这个问题而不是VS2005之前 - 你必须编写更多的代码(你必须手动解析XML部分).
最后,如果你仍然讨厌那么多,你总是可以使用"我需要的最后一个配置部分处理程序":https: //sites.google.com/site/craigandera/craigs-stuff/clr-workings/the -last配置节处理程序-I-LL-不断需要
他写这篇文章已经有很长一段时间了,但它仍然可以正常工作.