c#中的where泛型約束
這個關於泛型約束
的東西我看了幾天了。一直沒打看懂,我的領悟能力有點差,剛才突然明白了一點,泛型約束
的意思就是說:
類的泛型,只能是where
字句後面所寫的介面或類。
這麼說好像也有點不大明白,舉個例子。
我有乙個介面,如下:
1然後該介面有兩個實現,如下:///2
///國籍的介面
3///
4public
inte***ce inationality
5 11
string getnationality();
12 }
1然後建立乙個泛型類,帶有泛型約束的類,如下:///2
///中國人
3///
4public
class chinese : inationality
5 13 }
1415
public
string getnationality()
16
19 }
2021
///22
///美國人
23///
24public
class american : inationality
25 30 }
3132
public
string getnationality()
33
36 }
1由於有where///2
///3
///4
///5
public
class printnationalitywhere t : inationality, new()
6 ", item.getnationality()));
11 }
12 }
字句的泛型約束,所以,建立printnationality的物件時,t的型別只能是繼承子inationality介面的類。
1以上的**執行結果:public
class program
2 12 }
好文要頂nationality:chinese.nationality:american.
關注我收藏該文
瘋狂的石頭陳
關注 - 3
粉絲 - 8
+加關注1 0
用c#開發tuxedo客戶端
sql server行轉列應用小結
posted on 2011-11-28 21:40收藏
C 中的where泛型約束
這個關於泛型約束 的東西我看了幾天了。一直沒打看懂,我的領悟能力有點差,剛才突然明白了一點,泛型約束 的意思就是說 類的泛型,只能是where 字句後面所寫的介面或類。這麼說好像也有點不大明白,舉個例子。我有乙個介面,如下 1 2 國籍的介面 3 4public inte ce inationali...
C 泛型 WHERE 約束
where 子句用於指定對下列型別的約束 這些型別可用作泛型宣告中定義的型別形參的實參。public class mygenericclass t wheret icomparable t實現icomparable介面 public void request listentitylist where...
where泛型約束
where用於指定型別約束,這些約束可以作為泛型宣告中定義的型別引數的變數.如下 public class mygenericclasswhere t icomparable 除了介面約束,where還可以包括基類約束,以指出某個型別必須將指定的類作為基類 或者就是該類本身 才能用作該泛型的型別引數...