【发布时间】:2017-01-12 06:40:38
【问题描述】:
我正在尝试在 Csfbs 类的 OverrideLogErrorMethod 中调用覆盖错误方法,如下所示
namespace IQCs
{
public class Csfbs
{
public static string OverrideLogErrorMethod(string Name)
{
ILogger Logger = LogManager.GetLogger(LOGFILENAME);
try
{
/*Somecode*/
if (Name != "Name")
throw new Exception();
else
return "success";
}
catch
{
Logger.Error("Overrided logger.error method");//here I want to call overriden error method
return "override Success";
}
}
}
public abstract class CustomLoggerClass: ILogger //Implementing Ilogger interface which implements error method
{
public abstract void Error(string message);
}
public class CUs : CustomLoggerClass
{
//Overriden error method in CUs
public override void Error(string message)
{
string messageInfo = "Control is in overrided Logger.error method";
ILogger Logger = LogManager.GetLogger(LOGFILENAME);
Logger.Info(messageInfo);
}
}
}
控件不会覆盖错误方法,代码中的哪些更改会使控件转到覆盖错误方法?我不想更改方法的名称,因为该名称在很多地方都使用过
【问题讨论】:
-
Logmanager.GetLogger 是否返回 CU 实例?它需要你的代码才能工作
标签: c# interface polymorphism overriding