このようなことを達成する最良の方法は何でしょうか?リソース文字列を別のものにフォーマットしますか?
次のような文字列がResource
個あるとします。
BadRequestParameter: Potential bad request aborted before execution.
RequiredParameterConstraint: {0} parameter requires a value. {1}
そして、私はBadRequestParameter
の値に、二番目に{1}
を設定するとします。私は簡単にstring.Format
を使ってそれを行うことができました。しかし、今では、私は多くのResource
の文字列を持っているとしましょう。これらの文字列には他にもResource
という文字列が含まれています。
これをコードする最良の方法は何ですか? string.Format
を繰り返し使用していますが、どちらの場合でも私ができることは本当ですか?
更新
私はより良い自分自身を説明しようとするでしょう。これらは私が実際に持っているリソース文字列です:
BadRequestParameter Potential bad request aborted before execution.
EmptyVector Vectorized requests require at least one element. {0}
OverflownVector Vectorized requests can take at most one hundred elements. {0}
RequiredParamConstraint {0} parameter requires a value. {1}
SortMinMaxConstraint {0} parameter value '{1}' does not allow Min or Max parameters in this query. {2}
SortRangeTypeConstraint Expected {0} parameter Type '{1}'. Actual: '{2}'. {3}
SortValueConstraint {0} parameter does not allow '{1}' as a value in this query. {2}
私は、これらのラインのそれぞれの終わりにBadRequestParameter
内の文字列を書き込まないようにしたいと思います。したがって、これらの文字列の最後にフォーマットを追加しました。問題は、今、私はあなたが短いヘルパーメソッドを作成したい場合を除き:-)はい
string.Format(Error.EmptyVector, Error.BadRequestParameter);
-1:これは悪い考えであり、臭いです。 –
私は砂糖のために '.FormatWith()'拡張メソッドを使いますが、これは質問の外にあります。 – bevacqua
何が悪いですか?私が同意する価値はほとんどありませんが、5文字以下の文字を入力したい場合は、それが彼のビジネスです。 –