Я создал свой собственный базовый класс CustomController, который наследуется от Controller. Аналогичным образом я создал свою собственную CustomViewData, которая наследуется от ViewDataDictionary. Класс CustomController имеет ctor, который принимает параметр CustomViewData как.Изменить вид ViewData в расширенном контроллере
Все мои контроллеры наследуют от CustomController и передают их унаследованные CustomViewData. Теперь я хочу иметь возможность вызвать this.ViewData из моего контроллера и вернуть данные просмотра, которые я передал на контроллере. В настоящее время я возвращаю ViewDataDictionary (из класса Controller). Поэтому я потерял информацию о типе.
Как сохранить информацию о типе в моем представлении ViewData в моем производном классе CustomController, не обернув его в get/set, который делает для меня бокс?
думает, что что-то похожее на предложение Херардо - это путь. вы действительно хотите избежать кастинга эй –
Да, если бы я мог, я бы этого не сделал. Но когда я создаю экземпляр в наследуемом контроллере с новым ключевым словом, а затем изменяю состояние ViewData в customController, состояние не отображается в наследуемом контроллере. Новое ключевое слово в основном скрывает предыдущий (делает его недоступным, но все еще существует), поэтому теперь будут два экземпляра viewdata. ContengController.ViewData (это CotengViewData) и один в InheritedController.ViewData (это InheritedViewData). –
Назовите свой пользовательский еще что-нибудь еще? как в: свойство CustomViewData типа CustomViewData. –