reflection.emit

    1熱度

    2回答

    我想寫一個代碼生成器並將這些代碼保存爲mvp模式,我可以使用Reflection.Emit作爲解決方案還是CodeDom更好? 編輯-------------- 我要做的工作2,首先我想在運行時編譯這段代碼並運行它,其次生成源代碼作爲選項。

    3熱度

    4回答

    我有一個程序集和一些類。我想要做的就是創建一個類的實例,並且在一般的方式填充它的屬性,是這樣的: public T FillObject(IDictionary<string,object> values) { /// CREATE INSTANCE /// FILL THE PROPERTIES WITH THE VALUES } 反思是最好的方式,但它的速度太慢,而

    0熱度

    1回答

    void DoSomething(Data data){ var myDataRequest = new DataRequest(); myDataRequest.ID = data.ID } 我有以下 methodIL.Emit(OpCodes.Ldloc_1); methodIL.Emit(OpCodes.Ldarg_0); methodIL.Emit(OpCod

    1熱度

    1回答

    我有一些代碼,從一個類型建立一個代理。它工作完美。 然後,我添加了setter發出的代碼,它在調用時必須推入isDirty位。這失敗了,爲什麼? 如果我運行的代碼沒有isDirty位,它的工作原理。 如果我用isDirty位運行代碼,它在調試中起作用,但在Visual Studio中啓動反彙編窗口。 如果我用isDirty(without-debug)程序崩潰(沒有響應)運行代碼,但是當我點擊取消

    14熱度

    1回答

    此代碼段是我的類代碼,這創建引用彼此作爲參數以一般型兩類簡化提取物: namespace Sandbox { using System; using System.Reflection; using System.Reflection.Emit; internal class Program { private static voi

    7熱度

    1回答

    所以我知道什麼Expression.DebugInfo用於,和我有一個調試表達式創建的,但如何標記我這個調試信息等表現?這裏就是我想作爲一個真正的基本測試: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Linq.Expressions;

    0熱度

    2回答

    這個問題跟隨其他人的問題,因爲提問者從未接受或說出他的問題的解決方案,如果他找到了問題。 What's the most portable way to make a Silverlight & Regular .NET REST client 如果你熟悉從.net WebChannelFactory,它提供了一個乾淨的方式來創建一個客戶端訪問WCF Web Http(REST)服務。在Silve

    3熱度

    2回答

    我發佈了幾個類,其中一些需要在它們自己的構造函數中構造它們的對等體。沒有無限的遞歸依賴關係(所以如果A構造B,B不會構造A;嵌套引用也是如此)[構造B構造C意味着既不B也不C構造A])。我目前正在研究發佈構造函數的代碼,並且遇到了一些問題。我不知道依賴的前期的順序,這樣看來,我有幾個選擇: 不知何故類通過他們的依賴,並在其依賴的秩序「構建」他們進行排序,所以更多的依賴類有一個有效的構造函數引用。

    4熱度

    1回答

    我想使用System.Reflection.Emit命名空間爲2D陣列構造生成IL。 我的C#代碼是 Array 2dArr = Array.CreateInstance(typeof(int),100,100); 使用ildasm,我意識到,以下IL代碼是上述 C#代碼生成的。 IL_0006: call class [mscorlib]System.Type [mscorlib]Syst

    3熱度

    1回答

    在準備調用具有參數的方法時,如果在堆棧頂部引用(B)的實例(其中B是類,從A派生),是否需要發出OpCode.CastClass(typeof(A)) A型? 增加: interface IFoo { void IFoo(); } public class A:IFoo { public void IFoo() { } } public c