我即将实现一个类来表示验证错误。该类肯定会包含一个名为 Message 的字符串值,这是向用户显示的默认消息。我还需要一种方法来向程序员表示验证错误是什么。这个想法是应该有一种简单的方法来确定是否发生了特定的验证错误。
实现一个名为 Type 的字符串成员会很简单,但要确定 ValidationError 是否属于该类型,我需要记住描述该类型的字符串。
if (validationError.Type == "PersonWithoutSurname") DoSomething();
显然,我需要更强大的类型。枚举会很好:
if (validationError.Type == ValidationErrorType.PersonWithoutSurname) DoSomething();
但考虑到可能存在数百种验证错误,我最终可能会得到一个包含数百个值的丑陋枚举。
我还想到使用子类化:
if (validationError.GetType() == typeof(PersonWithoutSurnameValidationError)) DoSomething();
但是后来我的类库中散落着数百个类,每个类大部分都使用一次。
你们是做什么的?我可以花几个小时为这种事情苦恼。
回答提出我使用的建议的人。枚举建议是要击败的。