【问题标题】:What is the use of calling Interface methods in the implemented class? [duplicate]在实现的类中调用接口方法有什么用? [复制]
【发布时间】:2021-01-19 01:40:54
【问题描述】:

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

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”实现了什么?

【问题讨论】:

    标签: c# .net interface asp.net-mvc-5 action-filter


    【解决方案1】:

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

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

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

    public void OnActionExecuted(ActionExecutedContext filterContext)
    

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

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-01-20
    • 2019-08-19
    • 2020-06-07
    • 1970-01-01
    • 2017-12-28
    • 2021-07-20
    • 2013-08-16
    • 2010-10-23
    相关资源
    最近更新 更多