2012-11-29 100 views
3

我正在尋找可重用的Grid for MVC .Net。我找到了一個開源的Grid。C語言中的類聲明#

在代碼中,我發現了一個非常有趣的類聲明,我不明白 。 誰能告訴我下面的類聲明的詳細描述:

public class Grid<TEntity, TSearchForm> : IGrid where TSearchForm : SearchForm, new() 
{ 
} 

而且我怎麼創建這個類的一個實例?

+0

哪一部分你不明白嗎? – Oded

回答

5

類是一個通用類,它實現IGrid一個構造的。

這兩個通用類型參數是TEntityTSearchForm

TSearchForm被限制爲SearchForm或從SearchForm繼承的類型,並且它具有默認構造函數。

推薦閱讀:

+0

它就像寫類的構造函數? –

+1

@RahulRajput - 它不是一個構造函數。這是一個類聲明。 – Oded

6
  • 網格類實現IGrids接口。
  • TSearchFormType的類型必須是SearchForm(由派生)
  • TSeachForm必須具有不帶參數
6

這是繼承的iGrid兩個參數的泛型類:TEntity,TSearchForm。

也有是在類型TSearchForm的約束:

  1. 它的類型必須爲SearchForm或在它下面的層次結構(可轉換爲SearchForm隱含的)

  2. TSearchForm必須有公共的無參數構造函數。

更多信息:

where (generic type constraint new Constraint

+2

不,這是一個泛型類聲明(http://msdn.microsoft.com/en-us/library/sz6zd40f(v=vs.100).aspx)。您將能夠使用TEntity,TSearchForm類型用於您的目的。 – SergeyS