我想扩展ModelStateDictionary以添加一个简单的ModelState。AddModelErrors(),它同时接受多个错误。
我已经创建了以下类:
public static class ModelStateExtensions
{
public static void AddModelErrors(this ModelStateDictionary msd, List<string> errors)
{
foreach(var error in errors)
{
msd.AddModelError("", error);
}
}
public static void AddDuck(this ModelStateDictionary msd)
{
msd.AddModelError("duck", "quack");
}
}
然后我尝试在控制器中这样调用它:
if(errors.Any())
{
ModelState.AddModelErrors(errors);
}
并获得以下错误消息:
'ModelStateDictionary' does not contain a definition for 'AddModelErrors' and the best extension method overload 'ModelStateExtensions.AddModelErrors(ModelStateDictionary, List<string>)' requires a receiver of type 'ModelStateDictionary'
我有:
-
向控制器添加了具有正确命名空间的using语句
-
先编译所有内容
-
扩展方法在同一个项目中,因此不需要项目引用
无论如何,我认为这些会给我一个不同的错误信息,对吧?
这个错误消息是什么意思?接收器怎么样
不
类型为ModelStateDictionary?