在实现的class中调用接口方法有什么用?

What is the use of calling Interface methods in the implemented class?

在已经实现它的 class 中调用接口方法有什么用,而不是像下面那样实现特定方法本身 -

public class MyController: Controller, IActionFilter {
  public ActionResult Index(Customer obj) {
    return View(obj);
  }
  void IActionFilter.OnActionExecuted(ActionExecutedContext filterContext) 
  {
    Trace.WriteLine("Action Executed");
  }
  void IActionFilter.OnActionExecuting(ActionExecutingContext filterContext) {
    Trace.WriteLine("Action is executing");
  }
}

这样调用方法 -> "IActionFilter.OnActionExecuted" 有什么作用?

void IActionFilter.OnActionExecuted 是该接口方法的 显式 实现。

如果将实例转换为 IActionFilter,则只能在 MyController 实例上调用 OnActionExecuted 方法。

但是,如果您进行 隐式 实现,例如:

public void OnActionExecuted(ActionExecutedContext filterContext)

您将能够在 MyController 实例上调用 OnActionExecuted 而无需将其转换为 IActionFilter