log4net のILog
インターフェースに次の拡張メソッドを作成しました。
public static void Debug(this ILog log, IDiagnosticMessage message)
{
// do some stuff with the IDiagnosticMessage and end up calling ILog.Logger.Log with the result
}
コンパイラはこのメソッドを使用したくないようです。パラメータで呼び出すILog.Debug
と、IDiagnosticMessage
常にlog4netのILog.Debug(object)
オーバーロードが使用されます。
静的メソッドを明示的に呼び出す以外に、コンパイラにインターフェイス メソッドの代わりに私の拡張機能を呼び出させるために何ができるか、何か考えがある人はいますか?