3

我正在查看一个MVC3 nuget包中的一些代码,我注意到控制器中使用了一些方法virtual,比如public virtual ActionResult WhatEver()我一直看到的其他方法,public ActionResult WhatEver2()

为什么有人会这样做?有什么好处?

4

1 回答 1

3

唯一可能的好处是您可以在继承类中覆盖该方法。

如果不了解有关库的详细信息以及此方法在其中的位置,很难说它的具体好处是什么。假设它是一个 CMS 库,并且 ActionResult 返回一个对话框。将该方法标记为虚拟可能允许您(库的使用者)将控制器子类化并以某种方式修改对话框的行为。

于 2012-08-18T16:16:12.567 回答