我为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)
重载。
如果没有显式调用静态方法,那么我是否有任何想法可以让编译器调用我的扩展而不是接口方法?