ActionResult
类是所有控制器中 action 方法返回的结果的基类,它被定义为一个抽象类,只有一个方法 (© Microsoft):public abstract void ExecuteResult(ControllerContext context);
你能想到这种设计的具体原因吗?特别是,对我来说,似乎有点奇怪,
- 没有
IActionResult
接口, - 如果有这样的接口,那么根本不需要该类。
毕竟,如果这是一个接口而不是抽象类,那么创建新的 ActionResult
就不需要扩展基类 - 只需正确实现 IActionResult
即可。在一个没有多重继承的世界(或语言)中,这个优势对我来说似乎非常重要。