У меня есть приложение с довольно большой конфигурацией.Все разделы конфигурации для каждого параметра определяются с помощью атрибутов .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, как можно более обобщенно,(В противном случае я должен вручную просмотреть все определенные ConfigSections, собрать значения DefaultValues для каждого поля, а затем проверить, что мой конфигуратор использует эти значения ...)
В воображении это будет выглядеть так: MyCollection.GetListConfigurationProperty (), который будетвернуть объекты ConfigurationPropertyAttribute, для которых я мог бы вызвать свойства: Name, IsRequired, IsKey, IsDefaultCollection и DefaultValue
Есть идеи?