ilgenerator

    1熱度

    1回答

    我有例外:操作可能會破壞運行時,我不知道爲什麼:(請幫我 我加了本地,但仍然沒有工作...... 。 方法要動態創建(REF000001): public static int REF000001(int REF000002, object REF000003, DateTime REF000004) { return (int)typeof(REF000005).GetMe

    0熱度

    1回答

    我在嘗試實現對由應該在運行時定義的事件觸發的方法的調用時遇到問題。我發現這個答案: Redirecting to a dynamic method from a generic event handler 並實現瞭解決方案,但我不斷收到異常時要調用的方法是一個實例之一,不是一成不變的。 這裏是我的部分代碼: public class Operation { public bool Ev

    0熱度

    1回答

    我正在通過來自C#反射的TypeBuilder生成新的Type。我現在所面臨的問題是如何構建方法體來調用靜態字段上的方法。 現在我的生成(在運行時)類看起來是這樣的: public class Generated { static private MyObject obj; public MyResponse Hello(MyRequest req1) {

    2熱度

    2回答

    我是ILGenerator的新手,對我來說如此光禿禿,直接指向我可能有所幫助的任何答案。謝謝。 我想構造一個泛型類型的實例並調用該實例上的方法。然後返回該方法的結果。 var genericType = typeof(GenericType<>).MakeGenericType(typeof(TOutput)); il.DeclareLocal(genericType); var instan

    0熱度

    1回答

    的ILGenerator調用實例方法我想構造一個泛型類型的實例並在該實例上調用一個方法。然後返回該方法的結果。 MethodInfo methodInfo = ...; ... var genericType = typeof(GenericType<>).MakeGenericType(typeof(TOutput)); il.Emit(OpCodes.Newobj, genericTyp

    0熱度

    1回答

    我正在嘗試生成動態方法。假設我的布爾值爲arg。我想調用一個方法來接受int類型的參數,該參數將通過簡單的規則arg ? 1 : 0從bool值轉換而來。對於生成的IL代碼一些示例代碼低於: //bool value is already pushed into stack IL_003d: brtrue.s IL_0042 IL_003f: ldc.i4.0 IL_0040: br.s

    3熱度

    2回答

    我有一些代碼使用IlGenerator.Emit創建並使用datareader填充通用對象。它工作的很好,但是我需要擴展它來在數據庫字段名稱包含下劃線時填充簡單的子對象。 例如,名爲「Address_Line1」的數據庫字段應填充屬性Line1,該屬性是實體上Address屬性的屬性。在C#代碼,基本上... Entity.Address.Line1 = "value from reader";

    2熱度

    1回答

    我希望能夠通過傳遞事件的名稱和Action依賴於客戶端代碼來訂閱任何對象的任何事件。我有以下代碼上面的代碼 public static class EventSubscriber { public static object Subscriber<TEventArgs>( this object obj, string eventName, Actio

    2熱度

    1回答

    在此示例代碼中,我試圖從il生成器調用匿名操作。我不確定是否以及如何將參考加載到委託以及如何調用它。 我可以做到這一點,如果OnFunctionCall是一個靜態方法,而不是屬性。 public delegate void TestDelegate(); public static class ExampleOne { public static Action<string, bo

    1熱度

    1回答

    我正在使用Sigil創建一個DynamicMethod並希望看到生成的IL。 我以前從未與DynamicMethods合作過,所以也許有一個非常明顯的答案,但到目前爲止我還沒有發現任何東西。 這是similar question,但它很舊,我不知道鏈接的工具是否適用於VS2013 - 我想也許有更新的東西可用。 將生成的方法存儲在程序集中並將其寫入磁盤可能有效,但這在開發過程中非常麻煩。順便說一下