だから、私は少し問題で立ち往生しています。誰かがこのデザインに喜んで与えるかもしれないいくつかの追加の入力を持っているかどうか私は興味がありました。
デザインのエラーコードログ部分に2つのメソッドが公開されているILogインターフェイスがあります。FlagErrorおよびGetErrorCode; FlagErrorは整数にビットを設定し、各ビットは特定のエラーがスローされたことを表します。GetErrorCode(Mainメソッドの戻り値)はその整数を返します。
enum
私は最初、各アプリケーションで可能性のあるErrorCodeのリストを含めるためにを使用することを推測しました。
しかし、問題は、エラーコード「XYZ」が、実行中にアプリケーションがこれらの異常な状態に友好的にヒットしたことを表すことを、どのように正確にユーザーに伝えるのでしょうか。
ILogインターフェイス:(書き込みメソッドにはオーバーロードがあります)
interface ILog
{
void FlagError (int errorCode);
int GetErrorCode ();
#region Other ILog Methods
void WriteError(string message);
void WriteWarning(string message);
void WriteInfo(string message);
void WriteDebug(string message);
#endregion
}
ログクラス:
abstract class Log : ILog
{
public void
FlagError (int errorCode)
{
if (errorCode == 0 || errorCode == int.MinValue || errorCode != (errorCode & -errorCode))
{
throw new IndexOutOfRangeException ();
}
if ((m_errorCode & errorCode) == errorCode)
return;
m_errorCode += errorCode;
}
public int
GetErrorCode ()
{
return m_errorCode;
}
#region Other ILog Methods
}
私は、各列挙値の属性とそのエラーの説明を使用して、エラーコードを人間が読める形式の説明に「解析」するのに役立つ小さなプロセスなどを使用することを推測しました。
しかし、Idk、アイデアはありますか?