2 回答

TA貢獻(xiàn)1847條經(jīng)驗(yàn) 獲得超7個(gè)贊
意思是說, 重寫與顯式接口實(shí)現(xiàn)方法 的約束是有基類繼承的,你不能再在子類又指定或者改變這個(gè)規(guī)則。
也就是說子類不能改變父類的 約束規(guī)則。把 public override void Add<T>(T item) where T: class 改成 public override void Add<T>(T item) 就OK。

TA貢獻(xiàn)1831條經(jīng)驗(yàn) 獲得超10個(gè)贊
這就是字面上的意思,"泛型約束"
public override void Add<T>(T item) where T: class
比如調(diào)用這個(gè)方法時(shí),給add傳遞泛型,而這個(gè)泛型類型必須是class(一個(gè)類),這樣有個(gè)限制就不會(huì)在調(diào)用的時(shí)候誤傳別的類型的參數(shù),不會(huì)導(dǎo)致程序錯(cuò)誤。
泛型約束的引入讓程序員在操作C#類型時(shí)更加的規(guī)范和準(zhǔn)確,為了提供強(qiáng)編譯時(shí)檢查和減少類型轉(zhuǎn)換.
- 2 回答
- 0 關(guān)注
- 741 瀏覽
添加回答
舉報(bào)