【发布时间】:2013-11-04 02:50:07
【问题描述】:
我刚刚偶然发现IController,并注意到它有一个方法Execute。我的问题是,鉴于Controller 派生自实现接口IController 的ControllerBase,那么ControllerBase 怎么能将Execute 实现为protected virtual?
我的理解是接口必须实现为公共方法。我对此的理解更加复杂,因为您不能在实例化的Controller 上调用Execute,而必须将其转换为IController 的实例。
如何将接口实现为受保护的方法?
再补充一点,我知道显式接口实现,但是如果你 view the source code for ControllerBase 在你会看到该方法实现为 protected virtual void Execute(RequestContext requestContext)
【问题讨论】:
-
你能把你的编译代码贴在这里吗?
-
@Konstantin Spirin:他说的是
System.Web.Mvc.IController和System.Web.Mvc.ControllerBase。
标签: c# asp.net-mvc interface