我有一個C#應用程序(實際上它運行到Windows服務或像Windows應用程序)。DataModel驗證在C#
從XML文件接收服務/應用程序的一次運行配置。
這個XML文件實際上只是我的數據在XML中序列化/反序列化。這是我生成它的其他應用程序之一。
在運行業務代碼之前,我想確保配置文件是有效的。
我的意思是,比如像「此字符串不能爲空」,「這個時間跨度的值必須大於XYZ更大」,...可以通過seing的內容進行
因此,只有驗證該字段(無需訪問其他內容)。
它提醒了我很多我在asp.Net MVC中使用的數據註釋,我想如果有一些類似的簡單c#代碼,而不必加載整個asp.net MVC dll。
我的其他選擇是實現一個方法「驗證()」,如果一個字段不正確,會拋出異常,但我會有很多if(String.IsNullOrEmpty()
和其他虛擬驗證。
我不想讓自己成爲一個使用反射的大型驗證器,對於一個小的配置文件驗證來說有點矯枉過正。
生成這些文件的應用程序也可以使用這些相同的驗證。
編輯:我使用的.Net 3.5
「我一直在尋找一個.net 3.5解決方案 - ValidationContext不可用.NET 4.0之前的」選擇解決方案的第一個評論。 就像我之前所說的,我需要使用.Net 3.5 – J4N