泛型作為返回型別的寫法
在泛型方法中,如果採用下面的方式來返回泛型型別的物件,則會報錯,說“不能進行型別轉換”
public static T GetObj
{
return (T)obj; //或者
return obj as T
}
正確的寫法應該是這樣的:
public static T GetObj
{
return
(T)(Object)obj;
}
比如下面這個方法返回元素指定型別的“父親”:
public static T GetAncestor
{
while (!(element == null || element is
T))
{
element =
VisualTreeHelper.GetParent(element);
}
if((element != null) && (element is
T))
{
return (T) (object) element;
}
return default(T);
}
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12639172/viewspace-617616/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 型別 VS 泛型型別泛型
- TypeScript 泛型型別TypeScript泛型型別
- 泛型類、泛型方法、型別萬用字元的使用泛型型別字元
- 泛型型別(.NET 指南)泛型型別
- Dart語法篇之型別系統與泛型(七)Dart型別泛型
- Java™ 教程(泛型原始型別)Java泛型型別
- 型別與泛型標記型別泛型
- Scala 泛型型別和方法泛型型別
- Java泛型與型別擦除Java泛型型別
- TypeScript 基本型別和泛型的使用TypeScript型別泛型
- 多型中的返回值型別多型型別
- C#中將DataTable型別轉化為泛型集合C#型別泛型
- Java泛型型別擦除問題Java泛型型別
- Java中建立泛型型別的例項Java泛型型別
- 泛型--泛型萬用字元和泛型的上下限泛型字元
- rust trait 關聯型別和泛型的區別RustAI型別泛型
- Java泛型知識點:泛型類、泛型介面和泛型方法Java泛型
- C# 泛型 引用型別約束 值型別約束C#泛型型別
- 泛型類、泛型方法及泛型應用泛型
- C# 泛型集合的自定義型別排序C#泛型型別排序
- 返回hash 型別的json型別JSON
- 原始碼 | 靜態工廠返回宣告的返回型別的子型別的例項原始碼型別
- std::packaged_task<返回型別(引數型別)>Package型別
- Java 泛型,你瞭解型別擦除嗎?Java泛型型別
- 【原創】【自制系列】自制stack型別(泛型)型別泛型
- java中泛型之型別萬用字元(?)Java泛型型別字元
- 如何使用Java泛型對映不同的值型別Java泛型型別
- 泛型類和泛型方法泛型
- 【java】【泛型】泛型geneticJava泛型
- java泛型之泛型方法。Java泛型
- Java泛型T與?的區別Java泛型
- 泛型中的自限定型別泛型型別
- Java語法糖3:泛型Java泛型
- 理解C#泛型運作原理C#泛型
- TypeScript 泛型介面和泛型類TypeScript泛型
- Go 泛型之泛型約束Go泛型
- java泛型之泛型陣列。Java泛型陣列
- 面試官:說說什麼是泛型的型別擦除?面試泛型型別