Могу ли я расширить класс ModelStateDictionary в MVC3 - PullRequest
4 голосов
/ 27 сентября 2011

в классе ModelStateDictionary есть только AddModelError и функция Add, я хочу расширение класса, добавьте метод как AddModeSuccess ccess 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);
    }

1 Ответ

5 голосов
/ 27 сентября 2011

Вы можете добавить их как методы расширения в класс ModelStateDictionary:

public static class ModelStateExtensions
{
    public static void AddModelSuccess(this ModelStateDictionary modelState, ... some parameters)
    {
        ...
    }

    public static void AddModelWarning(this ModelStateDictionary modelState, ... some parameters)
    {
        ...
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...