错误 CA1822:Microsoft.Performance:从未使用过“SomeController.AnAction(string, string)”的“this”参数(或 Visual Basic 中的“Me”)。将成员标记为静态(或在 Visual Basic 中为 Shared)或在方法主体或至少一个属性访问器中使用“this”/“Me”(如果适用)。
当通过 URL 请求时,静态操作会产生 404 未找到。在关闭代码分析的情况下,该操作按预期工作。这有什么意义,什么是适当的补救措施?
请注意,操作的返回类型是 PartialViewResult,如果返回类型是 ActionResult,代码分析似乎不会抱怨这一点。
[HttpPost]
public PartialViewResult BlankEditorRow(string formId, Common.Entities.Common.ObjTypeEnum objType)
{
if (objType == Common.Entities.Common.ObjTypeEnum.Regular)
return new AjaxPartialViewResult("_RowEditor", new ProcedureEntryEntity()) { UpdateValidationForFormId = formId };
else
return new AjaxPartialViewResult("_TemplateRowEditor", new ProcedureEntryEntity()) { UpdateValidationForFormId = formId };
}
更新:看起来将返回类型更改为 ActionResult 可以解决错误,并且 PartialViewResult 是一个 ActionResult 所以它应该可以工作。