在ModelStateDictionary类中只有AddModelError和Add函数,我想扩展这个类,添加像AddModeSuccess,AddModelWarning这样的方法。我看了一下MVC3的源代码,发现有很多东西需要添加。我不想修改MVC3代码,我只想添加一个扩展。我该怎么做?
public void Add(KeyValuePair<string, ModelState> item) {
((IDictionary<string, ModelState>)_innerDictionary).Add(item);
}
public void Add(string key, ModelState value) {
_innerDictionary.Add(key, value);
}
public void AddModelError(string key, Exception exception) {
GetModelStateForKey(key).Errors.Add(exception);
}
public void AddModelError(string key, string errorMessage) {
GetModelStateForKey(key).Errors.Add(errorMessage);
}发布于 2011-09-27 17:23:06
您可以将它们作为extension methods添加到ModelStateDictionary类中:
public static class ModelStateExtensions
{
public static void AddModelSuccess(this ModelStateDictionary modelState, ... some parameters)
{
...
}
public static void AddModelWarning(this ModelStateDictionary modelState, ... some parameters)
{
...
}
}https://stackoverflow.com/questions/7566701
复制相似问题