【发布时间】:2011-11-20 09:33:24
【问题描述】:
我有一个配置相当大的应用程序。 每个参数的所有配置部分都使用 .Net ConfigurationProperty 属性定义,这些属性都具有 DefaultValue 属性。
随着我们的产品在国家之间甚至是一个国家的客户之间高度可定制,有一个 Configurator.exe 可以编辑大型配置文件。
在这个 Configurator.exe 中,如果我可以访问已定义的许多 DefaultValue 属性,那将是非常酷的……但是,我不知道如何访问这些属性由属性生成。
例如:
public class MyCollection : ConfigurationElementCollection
{
public MyCollection ()
{
}
[ConfigurationProperty(MyAttr,IsRequired=false,DefaultValue=WantedValue)]
public MyAttributeType MyAttribute
{
//... property implementation
}
}
我需要以编程方式访问值 WantedValue,尽可能通用。 (否则我要手动浏览所有定义的 ConfigSection,收集每个字段的 DefaultValues,然后检查我的配置器使用这些值...)
它看起来像:MyCollection.GetListConfigurationProperty(),它将返回我可以调用属性的 ConfigurationPropertyAttribute 对象:Name、IsRequired、IsKey、IsDefaultCollection 和 DefaultValue
有什么想法吗?
【问题讨论】:
标签: c# .net configurationproperty