C 中的where泛型約束介紹

2022-09-26 09:33:12 字數 827 閱讀 3985

泛型約束的意思就是說:類的泛型,只能是where字句後面所寫的介面或類。

這麼說好像也有點不大明白,舉個例子。

我有乙個介面,如下:

複製** **如下:

////// 國籍的介面

///public inte***ce inationality

string getnationality();

}然後該介面有兩個實現,如下:

複製** **如下:

////// 中國人

///public class chinese : inationality

}public string getnationality()

} ///

/// 美國人

///public class american : inationality

}public string getnationality()

}然後建立乙個泛型類,帶有泛型約束的類,如下:

複製** **如下:

//////

//////

public class printnationality where t : inationality, new()

", item.getnationality()));

}}由於有where字句的泛型約束,所以,建立printnationality的物件時,t的型別只能是繼承子inationality介面的類。

複製** **如下:

public class program

}以上的thovlx**執行結果:

本文標題: c#中的where泛型約束介紹

本文位址:

C 中的where泛型約束

c 中的where泛型約束 這個關於泛型約束 的東西我看了幾天了。一直沒打看懂,我的領悟能力有點差,剛才突然明白了一點,泛型約束 的意思就是說 類的泛型,只能是where 字句後面所寫的介面或類。這麼說好像也有點不大明白,舉個例子。我有乙個介面,如下 1 2 國籍的介面 3 4public inte...

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...