Controllerから継承する独自のCustomController基本クラスを作成しました。 同様に、ViewDataDictionaryを継承する独自のCustomViewDataを作成しました。 CustomControllerクラスには、CustomViewDataをパラメータとして受け入れるctorがあります。拡張コントローラーでのViewDataのタイプの変更
すべてのコントローラはCustomControllerから継承し、継承したCustomViewDataを渡します。 これで、私のコントローラ内からthis.ViewDataを呼び出すことができ、コントローラで渡されたビューデータを取得できます。現在、ViewDataDictionary(Controllerクラスから)が返されます。だから私は自分のタイプ情報を失った。
私のCustomController派生クラスのViewDataプロパティに型情報を保持する方法は、私のボクシングを行うget/setでラップしないでください。
は、ジェラルドの提案に沿った何かが行く方法だと思っています。あなたは本当にキャストヘイを避けたいと思う –
はい、私ができるなら、私はそうしません。しかし、新しいキーワードで継承されたコントローラでインスタンスを作成してから、customControllerでViewDataの状態を変更すると、その状態は継承されたコントローラでは表現されません。新しいキーワードは基本的に前のものを隠します(アクセス不可能ですが、それでも存在します)ので、今度はビューデータの2つのインスタンスがあります。 ContengController.ViewData(CotengViewData)と1つはInheritedController.ViewData(InheritedViewData)です。 –
あなたのカスタム1つの何か他の呼び出しして? in:customViewData型のCustomViewDataプロパティです。 –