Я собираюсь реализовать класс для представления ошибки проверки.Класс определенно будет содержать строковое значение с именем Message, которое является сообщением по умолчанию для отображения пользователю.Мне также нужен способ показать, что ошибка проверки для программиста.Идея состоит в том, что должен быть простой способ определить, произошла ли конкретная ошибка проверки.
Было бы просто реализовать строковый член с именем Type, но чтобы определить, относится ли ValidationError к этому типу, я бынужно запомнить строку, которая описывает этот тип.
if (validationError.Type == "PersonWithoutSurname") DoSomething();
Очевидно, мне нужно что-то более строго типизированное.Перечисление было бы хорошо:
if (validationError.Type == ValidationErrorType.PersonWithoutSurname) DoSomething();
Но, учитывая потенциально сотни типов ошибок проверки, я мог бы получить ужасное перечисление с сотнями значений.
Это также пришло мне в головуиспользовать подклассы:
if (validationError.GetType() == typeof(PersonWithoutSurnameValidationError)) DoSomething();
Но тогда моя библиотека классов полна сотен классов, которые в основном будут использоваться по одному разу.
Что вы, ребята, делаете?Я могу часами мучиться из-за такого рода вещей.
Ответьте тому, кто придет с предложением, которое я использую.Предложение Enum - это то, что нужно победить.