У меня есть консольное приложение, в котором я пытаюсь связать раздел конфигурации в список пользовательских типов объектов, например:
List<myObject> myObjectList = new List<myObject>();
config.GetSection("Objects").Bind(myObjectList);
public enum CustomEnum{
One,
Two
}
public class myObject{
public CustomEnum myEnum { get; set; }
}
Моя проблема заключается в том, что если в файле конфигурациивы не дадите правильное значение перечисления для этого свойства (т. е. три вместо одного или двух, как показано выше), оно не сможет связать объект и не выдаст ошибку, сообщающую, что оно не выполнено. В общем, как я могу сделать так, чтобы я знал, что связывание не удалось из-за неправильного значения конфигурации? Прямо сейчас он просто не связывает те конкретные, которые терпят неудачу, что означает, что нет никакого реального способа узнать, что пропущены элементы.
Пример конфигурации, которая успешно связывает один объект, но терпит неудачу и игнорирует другой:
{
"Objects": [
{
"myEnum": "One"
},
{
"myEnum": "Three"
}
]
}
РЕДАКТИРОВАТЬ: Таким образом, для будущих ссылок для тех, кто найдет это, в принципе, нет хорошего решения. Вам просто нужна ручная проверка или вообще не использовать перечисления в вашей конфигурации.