mono.cecil

    0熱度

    2回答

    我有問題試圖讓Mono.Cecil在使用TypeReference時使用正確的「mscorlib」版本。我將一個新變量添加到一個Method中,並沿着以下方式進行操作。但是,它添加了對4.0 mscorlib的引用,而不是2.0 mscorlib。我必須使用.NET Framework 4.5運行此應用程序,因此我無法使用較低版本,除非我重新編寫其他人無法訪問的代碼。 TypeReference

    3熱度

    1回答

    我正在使用Mono.Cecil在屬性setter中注入一些指令,注入Brfalse_s指令時我有奇怪的錯誤。這裏是代碼,簡短。 private void InjectNullProtection(PropertyDefinition property) { IList<Instruction> instructions = property.SetMethod.Body.Instruc

    2熱度

    1回答

    序言:我正在爲我們公司的需要製作一個測井工具。我們通過Caliburn在我們的項目中使用MVVM模式。此時,我的工具能夠通過Mono.Cecil程序集編譯代碼,並在公共屬性集方法中注入日誌記錄方法的調用。 Fabula:比方說,我有一個類Person public class Person { public string Name { get { r

    2熱度

    1回答

    有沒有辦法通過CIL獲取類間的類型並將其更改爲public? AssemblyDefinition x = AssemblyDefinition.ReadAssembly("x.dll"); TypeDefinition type = x.MainModule.GetType("Class");

    -1熱度

    1回答

    我想了解爲什麼這是無效的IL代碼和/或什麼會導致此故障。 引發的異常是: System.InvalidProgramException:無效IL代碼在 away3d.containers.View3D:updateBackBuffer():IL_0023:brfalse IL_00ba 我拆開使用monodis和正在調用的方法(updateBackBuffer)並拋出錯誤如下,但我不能發現任何錯誤

    1熱度

    1回答

    我使用Mono.Cecil編寫一些注入代碼IL到屬性setter程序==操作符。問題是我需要在屬性IL內使用相等運算符。例如: public class SomeClass { private int _property1; public int Property1 { get { return _property1; } set { _p

    0熱度

    1回答

    在Mono.Cecil中,out參數的ParameterDefinition的屬性IsOut設置爲true。 ref和params?如何從ParameterDefinition確定其中一個修飾符用於方法參數?

    6熱度

    1回答

    我正在使用Mono.Cecil來重寫某些程序集。例如給定一個帶有字符串字段的泛型類。我想要將代碼生成到寫入此字段的此類的方法中。 這是代碼實現的是: var origInstanceField = type.Fields.First(fld => fld.Name.Equals("_original")); InsertBeforeReturn(instanceMethod.Body, new[

    2熱度

    1回答

    我想將sql日誌記錄注入到幾個方法中。基本上,我想改造 public static object IDbCommandTest_ExecuteScalar(IDbCommand command) { // .. do stuff command.CommandText = "SELECT ..."; var obj = command.ExecuteS

    1熱度

    1回答

    如何使裝配中的現有類型在運行時實現接口(提取接口然後實現它)(使用運行時編織,Mono.Cecil能做到,普通的編譯器基礎設施...) 類彙編: public class MyClass { public method1(){} public method2(){} } 要生成 public class IMyClass { method1();