發表文章

目前顯示的是 1月, 2024的文章

使用 Emit 建立快速複製的代理函式

昨天示範了用 Expression Tree 作出一個快速的複製代理的程式 後來我想用同樣的結構,但改用 Emit 來寫出複製代理的程式

[C#] 使用 Expression Tree 建立快速複製代理

圖片
最近在寫工具,因為會去作壓測,確保資料量大時的執行時間 這時就會很重視執行時間,希望能盡可能的減少一些頻繁工作的執行時間 所以開始學習 Emit 及 Expression Tree,前者能玩的花招比較多,但是相對不直覺,需要有 IL 的底才行,而後者則相對容易一些。 而這次作的任務是希望可以作一個複製指定 Model 到另一個新實體上(就近似於 clone ),只是複製的 source 及 target 並不是相同類別,而是可能 target 的類別是繼承 source 的類別的,並且希望如果是物件的話,嘗試 new 出另一個新的物件建立並複製屬性值。