3

ビジネスロジックレイヤーで特定の条件が満たされたときにエラーメッセージが返されるように、何らかのソリューションを実装する必要があります。

このエラー メッセージは、必要に応じて実行時に編集できるファイルまたはテーブルで構成できる必要があります。

いくつかの方法でそれが行われるのを見たことがありますが、常に「このエラー メッセージは {0} です」のような結果になり、開発者がメッセージを使用するとき、メッセージに必要なパラメーターの数 (存在する場合) が必ずしもわかりません。 .

すでに行われている可能性のあるものを活用したいと思っているだけで、.net フレームワークにプロバイダーや何かが既に存在するとは思いません。

4

2 に答える 2

0

解決策;

次のように、名前付きのプレースホルダーを使用してエラー メッセージを保存します。

  • 「これはエラー {name1} です。Andkg kfkjgkf {name2}」
  • 「これは {size} の問題です」

次に、コンストラクターで「これは {size} の問題です」などの生のエラー メッセージを受け取るクラスが必要です。

このクラスでは、開発者が各プレースホルダーの値を指定できるようになります。

最後に、開発者は、プレースホルダーを指定された値に置き換えて結果を返すメソッドを呼び出します。

すなわち

var rawMessage = "this is some {size} problem"; // fetch this from a file, db, or build runtime
var errorMessage = new ErrorMessage(rawMessage); // finds all the placeholders, stores them in a Dictionary<string, string>
errorMessage.SetPlaceholderValue("size", "big"); // sets the {size} placeholder value
var message = errorMessage.BuildErrorMessage(); // replaces placeholders with values and checks no values are missing

// message should look like "this is some big problem";
// this will handle any number of placeholders
于 2010-06-11T06:00:06.597 に答える
0

エラーメッセージをエラークラスのプロパティにしないでください(エラークラスがあると仮定します)。開発者が独自のメッセージを設定できるようにし、おそらく独自のいくつかの静的メッセージを含むイベントを設定し、paramararray を受け入れて 2 番目として配置します。 string.format 関数の一部です。

パラメーターの数などがわからないことを回避できるようです。

于 2010-06-11T04:34:19.173 に答える