我有 ac# 应用程序(实际上它运行到 Windows 服务或类似于 Windows 应用程序)。
从 XML 文件中接收一次服务/应用程序运行的配置。
这个 XML 文件实际上只是我在 XML 中序列化/反序列化的数据。这是我生成它的其他应用程序之一。
在运行业务代码之前,我想确保配置文件是有效的。
我的意思是“这个字符串不能为空”,“这个时间跨度必须有一个大于 XYZ 的值”,......
因此,只能通过查看字段内容进行验证(无需访问其他内容)。
它让我想起了很多我在 asp.Net MVC 中使用的数据注释,我想如果简单的 c# 代码有类似的东西,而不必加载整个 asp.net MVC dll。
我的另一个选择是实现一种方法“Validate()”,如果一个字段不正确,它会抛出异常,但我会有很多if(String.IsNullOrEmpty()
其他的虚拟验证。
我不想为自己实现一个使用反射的大型验证器,仅用于小型配置文件验证有点矫枉过正。
生成这些文件的应用程序也可能有兴趣使用这些相同的验证。
编辑:我必须使用 .Net 3.5