3

ジェネリックであるviewmodelクラスfooがあります

public abstract class Base<T>

そしてその子型は、このように継承するときにクラスを設定します

public class Child : Base<Foo>

のようなモデルとしてビューで使用したい

@model Base<T>

しかし、これは不可能だと聞きました。Tの代わりにダイナミックを使用することを提案する人を見たことがありますが、Fooをダイナミックに置き換えない限り、それは機能しません。そのようなビューモデルを設計する方法はありますか?モデルの代わりにViewbagでChildオブジェクトを渡すことができると思いますが、可能であればそれは行いません。編集:(ビューバッグをベースにキャストして1つとして使用できるようにする必要があるため、ビューバッグについて考えると、実際には機能しません。これが基本的に私が抱えている問題です)

4

1 に答える 1

3

@model Base<T>具体的なタイプではないため、ビューに書き込むことはできません。ビューはジェネリックTypeでは入力できません。しかし、あなたは書くことができます

@model Base<Foo>

また

@model Base<dynamic>

あなたが私にどんな特性についてもっと示すならばBase<T>、あなたにもっと具体的なアドバイスを与えることができます。

于 2012-10-26T12:24:55.510 に答える