MVC.Net用の再利用可能なグリッドを探していました。オープンソースのグリッドが1つ見つかりました。
コードの中で、私が理解していなかった非常に興味深いクラス宣言を見つけました。以下のクラス宣言の詳細な説明を教えてもらえますか?
public class Grid<TEntity, TSearchForm> : IGrid where TSearchForm : SearchForm, new()
{
}
また、このクラスのインスタンスを作成するにはどうすればよいですか?
これは、TEntity、TSearchFormの2つのパラメーターを持つIGridから継承されたジェネリッククラスです。
また、TSearchFormのタイプにも制約があります。
タイプがSearchFormであるか、階層内でその下にある必要があります(SearchFormに暗黙的にキャストできます)
TSearchFormには、パブリックパラメーターなしのコンストラクターが必要です。
より詳しい情報:
このクラスはジェネリッククラスであり、を実装しIGrid
ます。
TEntity
2つの 汎用タイプパラメータはとTSearchForm
です。
TSearchForm
SearchForm
から継承する型または型に制約されSearchForm
、デフォルトのコンストラクターがあります。
推奨読書: