乙個高效反射類

2022-01-28 13:35:04 字數 624 閱讀 4617

1.專案中有需要用到反射的地方,仔細研究了下反射,其效率並不高

還好微軟提供了il的程式設計方法,自己實現了乙個高效反射類

下面舉些常用例子:

我們反射出.netframework中的乙個未公開的類 sessionstateutility 並呼叫其私有方法 deserialize

注意:由於dynamicmethodprivoder.deserialize 是靜態方法  所以dynamicmethodprivoder構造的第二個引數為null

我們反射出 httpcontext下的乙個 httpsessionstatecontainer 物件中 的私有字段 _sessionitems並獲取它的值

廢話不多說了  直接上原始碼:

乙個簡易的反射類庫NMSReflector

以前看過一些 是簡單的讀取sqlreader然後賦值給model,我不是不贊同這種做法,只是看到大篇幅的賦值操作真的有點浪費時間和精力,尤其是一些老專案居多。我看到的還好,多的也就60多個欄位且不用其他orm,如果涉及到變更的話,那麼對維護人員來說可能不僅僅是眼力活甚至還是.體力活。另外就是 的操作...

通過反射把乙個類的屬性的值賦值給另乙個類

兩個類我就不建立了,具體實現方法如下 通過反射把乙個類的屬性的值賦值給另乙個類 public catch exception ex return d 其中d代表新類,s代表原來的類。首先例項化d類,stype代表獲取s類的屬性,dtype獲取d類的屬性,然後利用getproperties 方法獲取類...

用反射方法獲取乙個類建立動態update語句

sqlresolver 是公司內部的通過傳入實體類獲取字段值的用於輔助編寫sql語句的類 stringuutils是用於字串處理講字串首字母大寫的工具類 通過先將字串轉為字元陣列,然後將陣列的第乙個元素,即字串首字母,進行ascii 碼前 移,ascii 中大寫字母從65開始,小寫 字母從97開始,...