mono.cecil

    3熱度

    2回答

    我想找到給定類型所依賴的所有類型,包括接口,抽象類,枚舉,結構等。我想加載一個程序集,並打印出一個列表中定義的所有類型,和他們的依賴。 到目前爲止,我已經能夠找到CLR程序集使用Mono.Cecil所依賴的所有外部類型,例如, using System; using Mono.Cecil; using System.IO; FileInfo f = new FileInfo("SomeAs

    18熱度

    2回答

    有沒有辦法從Mono.Cecil中的TypeReference轉到Type?

    9熱度

    2回答

    我想在運行時向某個類添加一些行爲。我知道如何在運行時使用Reflection.Emit進行子類化,但這還不夠,根據某些外部配置,我需要在類型T中的方法中注入操作碼,以便從它繼承的所有類自動獲得此行爲(我無法使用.NET Profiling API) 這樣的事情可以用Mono.Cecil來完成嗎? 如果不能修改加載程序集上的代碼,那很好如果我可以在加載程序集之前進行修改,然後將修改後的程序集加載到內

    2熱度

    1回答

    如何將此代碼注入方法Test()? this.DialogResult = DialogResult.OK; 所以注射後的方法是這樣的: public void Test() { this.DialogResult = DialogResult.OK; }

    8熱度

    6回答

    (首先,這是一篇很長的文章,但不用擔心:我已經實現了所有這一切,我只是在問你的意見或可能的替代方案。) 我在執行以下操作時遇到問題;我會感謝一些幫助: 我得到一個Type作爲參數。 我使用反射定義了一個子類。請注意,我不打算修改原始類型,但創建一個新類型。 創建每原始類,的字段的屬性,像這樣: public class OriginalClass { private int x; }

    1熱度

    1回答

    我正在尋找一種方法來確定Mono.Cecil中值類型(TypeReference)的字節大小。 我需要它來優化Nullable相等比較代碼生成。 如果值類型大小> 4,則首先比較HasValue,然後比較值。 如果值類型大小< = 4,首先比較GetValueOrDefault,然後比較HasValue。 但要這樣做,我需要以某種方式得到sizeof(T)。

    8熱度

    1回答

    我正在嘗試編寫調用mscorlib中的方法的IL,但我無法弄清楚如何獲得ModuleDefinition以便mscorlib實際引用&類型的方法,並且缺少文檔&。

    6熱度

    1回答

    我正在使用Lokad共享庫,而這又取決於Mono.Cecil。 我有點困惑什麼下列屬性的意思(這些都是應該做的。NET的內部,因此具有相當的.NET內部): 包裝尺寸(它們與類型做的,因爲它是在類型定義)。 Mvid(在ModuleDefinition中)。 ExplicitThis(與我知道的關鍵字有關,但在 MethodDefinition中)。 CallingConvention。 GetS

    2熱度

    1回答

    說我有集會A.它被Mono.Cecil修改了一下。現在說我有組裝B.它有一個名爲SomeClass的類。大會A也有一個名爲SomeClass的類。現在,我想從組件A與一個裝配B.我嘗試了一些東西代替SomeClass,但我知道,我的嘗試之一,它實際上重新映射這樣的方法調用: Console.WriteLine("Test."); .. .into: int.WriteLine("Test.")

    3熱度

    1回答

    Cecil中有沒有類似Reflection.Emit.DynamicMethod的東西?謝謝。 DynamicMethod的 編輯: 怎麼樣以下的東西呢? EmitCall(例如 IL.EmitCall(OpCodes.Callvirt,GetBuildKey,NULL); IL.Emit(OpCodes.Unbox_Any,dependencyType); ) LocalBuilder(例如Lo