我有一个开源的ASP.NET MVC 5应用程序,我试图使其尽可能可配置和扩展。
它有一套核心控制器,服务等......而且我已经将它们变成了所有部分类,所以人们可以轻松扩展它们。
我现在正在考虑将控制器中的所有ActionResults设置为虚拟,以允许用户在想要包含自定义代码并将核心方法保留到位时覆盖它们。
如果我这样做,用户是否能够覆盖控制器上的单个ActionResult,还是必须覆盖所有这些?
答案 0 :(得分:0)
如果您正在使用虚拟方法,例如
public virtual void DoSomething(){}
然后他们可以覆盖那一个方法并留下其余的方法,因为我们不处理抽象类。
另外,你是在谈论覆盖控制器的动作吗? ActionResult是一个动作的返回类型,并且已经可以扩展。