文章會介紹以下反射的常用方法:
1钮科、通過反射獲取指定類的指定方法進(jìn)行調(diào)用
2的妖、通過反射獲取一個類中的字段或者屬性批量賦值到另一個類的屬性或字段中
(1)反射最簡單的使用方法之一是通過獲取類名和方法名來動態(tài)調(diào)用方法宋距。直接上代碼窝趣。
若是沒有參數(shù)直接寫null即可葱峡,Invoke(object o,object[] obj),若是有參數(shù)則按正確的順序?qū)懭雘bject數(shù)組中便可勘天。
(2)通過反射獲取一個類中的字段或者屬性批量賦值到另一個類的屬性或字段中
在日常工作中可能會遇到一個場景:在類與類之間的字段或?qū)傩詡髦滴覀兛赡軙唵问褂靡韵吕?/p>
可能傳遞的字段少了這么寫可能無所謂觅赊,但是當(dāng)類的字段或者屬性達(dá)到上百個呢右蕊,我們不可能每次都一個個寫。所以在賦值字段名字相同的情況下我們可以使用反射進(jìn)行賦值吮螺。我們可以隨便創(chuàng)建三個簡單的類饶囚。
比如說在字段名稱一樣的時候,我們要將Test2類中的數(shù)據(jù)傳遞到Medicament中鸠补,我們就可以寫個靜態(tài)公共方法將這兩個類當(dāng)成參數(shù)傳遞進(jìn)去
屬性傳遞給字段都說了龙誊,字段傳遞給字段就更大同小異了
然后可以在控制臺運行測試,就會發(fā)現(xiàn)已經(jīng)將Test2的值賦值過來了赴魁。
但是反射也是有使用的一些優(yōu)缺點和限制的吝镣,以下也是引用其他博客不做太多解釋:
https://www.cnblogs.com/CHNMurphy/p/8607752.html。
代碼要自己敲一(億)遍被因!不要總想著復(fù)制粘貼G渌衫仑!