泛型 與 實體類的相互轉換


問題:

當我強制轉換實體類型到泛型的,或者將泛型強制轉換為實體類型,會提示無法轉換。

如下面代碼:

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,然后用這個中間變量進行強制轉換。

究其原因,泛型為變數,不能確定它是哪種類型,顧不能直接轉換,而賦值給中間變量就間接的 確定了它的類型,顧能進行轉換。

以上為個人見解,不對之處也請指正!!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM