【问题标题】:ASP.NET MVC Virtual Action ResultsASP.NET MVC 虚拟操作结果
【发布时间】:2015-09-12 07:35:15
【问题描述】:

我有一个开源 ASP.NET MVC 5 应用程序,我正在尝试使其尽可能可配置和可扩展。

它有一组核心控制器、服务等...而且我将它们全部设为 Partial 类,以便人们可以轻松地扩展它们。

我现在正在考虑将控制器中的所有 ActionResult 设为虚拟,以允许用户在他们想要包含自定义代码并保留核心方法时覆盖它们。

如果我这样做,用户是否能够覆盖控制器上的单个 ActionResult,还是必须覆盖所有这些?

【问题讨论】:

  • 这真的取决于添加了什么。如果用户覆盖向操作添加新内容,则其他操作可能不会更改,或者需要更改它们以维持添加的更改。

标签: c# asp.net-mvc asp.net-mvc-3 asp.net-mvc-4


【解决方案1】:

如果您使用虚拟方法,例如

public virtual void DoSomething(){} 

然后他们可以只覆盖那个方法并保留其余的,因为我们不是在处理抽象类。

另外,您是在谈论覆盖控制器的操作吗? ActionResult 是操作的返回类型,并且已经可以扩展。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-01-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多