C# ConfigurationProperty的规范示例
我试图利用.NET配置并理解自定义部分、元素等 实现这些自定义部分似乎需要显式声明getter和setter,通常会导致代码膨胀 例如: 具体来说,我们似乎有必要在get和set方法中显式地返回和设置内容C# ConfigurationProperty的规范示例,c#,.net,C#,.net,我试图利用.NET配置并理解自定义部分、元素等 实现这些自定义部分似乎需要显式声明getter和setter,通常会导致代码膨胀 例如: 具体来说,我们似乎有必要在get和set方法中显式地返回和设置内容 // Create a "remoteOnly" attribute. [ConfigurationProperty("remoteOnly", DefaultValue = "false", IsRequired = false)] public Boolean RemoteOnly {
// Create a "remoteOnly" attribute.
[ConfigurationProperty("remoteOnly", DefaultValue = "false", IsRequired = false)]
public Boolean RemoteOnly
{
get
{
return (Boolean)this["remoteOnly"];
}
set
{
this["remoteOnly"] = value;
}
}
有以下几点
[ConfigurationProperty("remoteOnly", DefaultValue = "false", IsRequired = false)]
public Boolean RemoteOnly { get; set }
不等同于上述情况
这真的是真的吗?即使有这样普通的属性,我们也必须冗长吗?更简洁的形式
{get;set;}
扩展到使用私有数据成员(如果我没记错的话)。这只是C#的语法糖,与配置系统没有任何关系
对于ConfigurationProperty,您需要访问当前对象上的索引器来存储/检索您的值,因为系统就是这样设计的。你是对的,这有点冗长,但是没有真正的方法来解决这个问题——这就是存储/检索值的方式
我可以推荐一些方法让您创建这些属性更容易(并且更不容易出错?是的,因为您依赖于外部存储机制(最终填充配置文件的基类字典) 此外,如果您担心代码膨胀,那么您担心的是错误的事情。写一次,不要再看。您不应该有太多处理自定义配置设置的代码,这样会使您的代码库膨胀。可能有点小肿块,但不是肿胀。另外,我很高兴您现在就开始处理这个问题,而不是在VS2005之前——您需要编写更多的代码(您必须手动解析XML部分) 最后,如果您仍然那么讨厌它,您可以始终使用“我需要的最后一个配置节处理程序”:
他写这篇文章已经很久了,但它仍然可以正常工作 Craig的解决方案有一个缺点:无法保存设置。它非常适合于只读场景。