2010-12-07 9 views
0

私はEntLibの検証属性を使用してビジネスオブジェクトのプロパティを検証しています。 MessageTemplateテキストをリソースファイルを使ってローカライズしたいのですが、MessageTemplate = Resource.MyMessageのようなものを実行すると、次のコンパイル時のメッセージが表示されます。EntLib属性内のメッセージテキストにリソースファイルを使用するにはどうすればよいですか?

"属性引数は定数式、typeof式または配列でなければなりません属性パラメータタイプの作成式 "

このテキストにリソースファイルを使用する方法はありますか?

おかげで、あなたはMessageTemplateResourceNameMessageTemplateResourceTypeプロパティの代わりに、MessageTemplateプロパティを使用する必要が ジェイ

答えて

1

次のようなものになりますあなたのコード:

[StringLengthValidator(1, 50, 
    MessageTemplateResourceName="InvalidLength", 
    MessageTemplateResourceType=typeof(MyResource))] 
public string FirstName 
{ 
    get; 
    set; 
} 

注属性は定数と期待しているので、あなたが属性(例えばMyResource.InvalidLength)に強く型付けされたリソースクラスを使用することはできません自動生成クラスにはプロパティが含まれています。これがエラーメッセージの原因です。

詳細については、Using the Message Template Resourcesを参照してください。

+0

これは素晴らしいことです!私はそれをすることができないのではないかと恐れていた。ありがとう! – birdus

関連する問題