我有一个用 C# 构建的简单工厂,它实例化和配置在 ASP.net 和 JavaScript 中构建的验证器。我想要一种方法来测试我是否意外尝试在同一个控件上设置验证器两次(例如,有两个RequiredValueValidator
s 不是一个好主意,可能会导致 ui/ux 问题),但我也希望确保保留使用相同构建机制但方式不同的验证器(例如RegularExpressionValidator
使用不同 RE 的两个 s,但不是使用相同 RE 的两个)。
我尝试了几种不同的可能技术,我将在下面详细说明这些技术 - 但本质上我需要一种技术来传递关于如何比较相同基本类型的两个验证器以辨别它们是否相等的描述(NB' equal' 不是 'identical',它们可能具有不同的 ID(等),但仍然执行相同的工作。)在运行时可解释并且我的 c# .dll 的其他区域可以访问以实际运行检查。
我的答案将是社区维基,目的是让社区编辑/纠正/讨论我陷入的错误/陷阱,而不是仅仅因为最初不正确而被否决,这样其他人就不会遭受同样的命运.