问题:
当我强制转换实体类型到泛型的,或者将泛型强制转换为实体类型,会提示无法转换。
如下面代码:
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,然后用这个中间变量进行强制转换。
究其原因,泛型为变数,不能确定它是哪种类型,顾不能直接转换,而赋值给中间变量就间接的 确定了它的类型,顾能进行转换。
以上为个人见解,不对之处也请指正!!
时间: 2024-10-06 05:09:17