私の次のコードをチェックしてください...
public enum LogType
{
Debug,
Info,
Warn,
Error,
Fatal
}
private static readonly ILog log =
log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
public void LogError(LogType logtype, string message)
{
XmlConfigurator.Configure();
if (logtype == LogType.Debug)
log.Debug(message);
else if (logtype == LogType.Error)
log.Error(message);
}
私は上記のすべての if-else ステートメントが好きではなく、これを書くためのよりクリーンな方法があると信じています。どうすればリファクタリングできますか? log クラスには、Debug、Error などのさまざまなメソッドがあります。
メソッドを1回呼び出して、自動的に処理したいと思います。
LogMyError(LogType.Debug, "I am just logging here");
どうすればそのようなことができますか?私はswitchステートメントから離れることを好みます。クリーンなオブジェクト指向のアプローチを探しています。