我正在阅读 NerDinner 免费教程 http://nerddinnerbook.s3.amazonaws.com/Intro.htm
我到了第 5 步的某个地方,它说要使代码更清晰,我们可以创建一个扩展方法。我查看了完整的代码,它有这个使用扩展方法:
catch
{
ModelState.AddModelErrors(dinner.GetRuleViolations());
return View(new DinnerFormViewModel(dinner));
}
然后 this 作为扩展方法的定义。
namespace NerdDinner.Helpers {
public static class ModelStateHelpers {
public static void AddModelErrors(this ModelStateDictionary modelState, IEnumerable<RuleViolation> errors) {
foreach (RuleViolation issue in errors) {
modelState.AddModelError(issue.PropertyName, issue.ErrorMessage);
}
}
}
}
我尝试按照教程所说的结合代码包含的内容,但收到预期的错误,即没有AddModelErrors
方法只接受 1 个参数。
我显然在这里遗漏了一些非常重要的东西。它是什么?