私はac#アプリケーションを持っています(実際には、WindowsサービスまたはWindowsアプリケーションのように実行されます)。
サービス/アプリケーションの 1 回の実行の構成を XML ファイルから受け取ります。
この XML ファイルは、実際には XML でシリアル化/逆シリアル化された私のデータのみです。それを生成するのは私の他のアプリケーションの1つです。
ビジネス コードを実行する前に、構成ファイルが有効であることを確認したいと思います。
これは、「この文字列は null であってはならない」、「この TimeSpan は XYZ より大きい値でなければならない」などのことを意味します。
そのため、フィールドの内容を参照することによって行うことができる検証のみが行われます (他の何かにアクセスする必要はありません)。
asp.Net MVC で使用したデータ注釈をよく思い出します。asp.net MVC dll 全体をロードすることなく、単純な c# コードに似たものがあればいいのにと思います。
私の他のオプションは、1 つのフィールドが正しくない場合に例外をスローするメソッド「Validate()」を実装することですが、多くif(String.IsNullOrEmpty()
のダミーの検証が必要になります。
リフレクションを使用する大きなバリデーターを自分で実装したくありません。小さな構成ファイルの検証だけでは少しやり過ぎです。
これらのファイルを生成するアプリケーションも、同じ検証を使用することに関心を持つ可能性があります。
編集:.Net 3.5を使用する必要があります