今天看見一篇文章【c#食譜】【麵食】選單1: 何時何地使用泛型 ,總結的很好,我也總結一下,不過是反過來的:何時何地不能使用泛型。
注:以下未特別註明的話,均表示不能對外展現泛型,內部仍然可以使用泛型。
1、控制項上,在控制項上public乙個泛型的屬性,意味著窗體設計器無法開啟。同樣的,在重用的元件上也意味著不能開啟設計器 了;
2、webservice上,據我目前所知,目前的webservice規範是不支援泛型的,不管是對外介面,還是返回/傳入的資料型別;
3、com的互操作,com是不支援泛型的。
解決方案:
在以上的應用中,我們又如何避免泛型帶來的麻煩呢?一般你可以:
1、包裝泛型類,使其特例化,不再具有泛型的特徵。例如:
public sealed class dependencypropertycollection : readonlynamedcollection
2、 定義非泛型的介面,將泛型的返回值或引數使用object方式訪問,適合com操作。
C 食譜 麵食 選單1 何時何地使用泛型
問題 你想在乙個新的專案中使用,或在現有的專案上把非泛型的型別轉換成它們的泛型表示。但是,你卻不知道自己為什麼想這樣做,並且你也不知道哪些非泛型型別應該被轉換成它們的泛型表示。解決方法 決定何時何地使用泛型,你需要考慮以下幾件事 l 你的型別將包含或者以多種不確定的資料型別來執行嗎?如果是這樣,那麼...
引號( )和雙引號(「) 何時何地使用它們
背景無論何時使用 都必須有一種方法將實際 應直接解釋 與應解釋為資料的文字字串區分開。數字通常不存在此問題,但日期也可以。debug.print me.controlname refers to a control on a form.whereas,debug.print me.controlna...
解決JSP不能使用泛型問題
在實踐過程中,我發現jbuilder2006中建立的jsp頁面不能使用泛型。我的jbuilder2006環境是 jdk1.5 tomcat5.5.9 都是預設的標配,而在servlet中卻可以使用泛型。怎麼回事?網上查了很多資訊,試了多種方法都沒有成功!嘗試一 jdk1.6 嘗試二 jdk1.6 t...