泛型 与 实体类的相互转换

问题:

当我强制转换实体类型到泛型的,或者将泛型强制转换为实体类型,会提示无法转换。

如下面代码:

PersonInfor 为实体类,T为泛型
 public int GetPersonMsgW_<T>(ref T pInfo, string imagePath)
  {
//泛型转换为实体类型
object temp = pInfo; PersonInfor pi = (PersonInfor)temp;
//实体类型转换为泛型
temp = pi; pInfo = (T)temp; return 0; }

大家看到了把,很明显,我将泛型或者实体类型先赋值给中间变量 object,然后用这个中间变量进行强制转换。

究其原因,泛型为变数,不能确定它是哪种类型,顾不能直接转换,而赋值给中间变量就间接的 确定了它的类型,顾能进行转换。

以上为个人见解,不对之处也请指正!!

posted @ 2014-12-12 17:57  点点_滴滴  阅读(12675)  评论(0编辑  收藏  举报