reflection.emit

    1熱度

    3回答

    使用C#時,我注意到使用動態生成類型的實例與簡單結構填充列表時的性能差異。下面的代碼包含4種用於使用100,000個對象填充列表的不同方法。 每種方法進行不同的: Button1的:15毫秒 將Button2:31毫秒 將Button3 & 4:300毫秒 注意,對於按鈕3的代碼& 4從來到this topic 任何人都可以解釋爲什麼動態創建的對象更慢? public struct DataRow

    3熱度

    1回答

    我目前正在創建一個具有虛擬屬性的程序集。 MSDN上的示例僅創建常規屬性。如何在具有虛擬屬性的程序集中創建類? 我希望能夠產生這樣的類: public class ClassA { public virtual int Id { get; set; } public virtual string Name { get; set; } public vi

    16熱度

    3回答

    我已經有一些代碼,使用System.Linq.Expressions和Expression.Lambda<Func<>>.Compile()等生成各種Func<>代表。我希望能夠將生成的函數序列化到程序集中供以後使用。在過去,我用System.Reflection.Emit做了一些事情,但是現在我不想再次使用Linq Expressions。 是否有機制將已編譯的表達式或Expressions命名

    3熱度

    2回答

    我試圖通過發射動態方法,它具有這樣它可以與任何類型的參數化可以用來匹配這個很「鬆散類型的」簽名創建構造的代表表示構造函數: public delegate Object ParamsConstructorDelegate(params object[] parameters); 併爲此創建委託的代碼如下所示(請注意這是爲Silverlight) public static ParamsCons

    4熱度

    4回答

    我試圖根據現有接口生成一組新的wcf接口。 我正在使用Reflection.Emit命名空間來完成此操作。我的問題是如何將舊的自定義屬性從一種方法複製到新的方法。我看到的每個SetCustomAttributes()示例都需要事先知道屬性類型。我需要在運行時發現屬性類型。有什麼想法嗎?

    41熱度

    3回答

    什麼是使用Reflection.Emit的庫對CodeDOM的在運行時動態生成代碼的一些優點/缺點? 我想基於現有的XML格式的運行時元數據在系統中生成一些(相對複雜)的動態類。我將生成擴展應用程序組合中的現有類,實現更多接口,添加方法以及覆蓋虛擬和抽象成員的類。 我想確保我選擇合適的技術之前,我得到過深入實施。有關這些不同的代碼生成技術如何不同的任何信息都會有所幫助。此外,任何有關簡化或簡化工作

    3熱度

    2回答

    是否可以使用Reflection.Emit在現有程序集中創建類型,還是需要定義新的動態程序集才能包含動態類型? 基本上,我打算讀取一個XML定義文件,該文件定義了一個類,該類將被多次實例化並填充來自其他幾個XML文件的數據。沖洗並重復幾個文件夾(每個文件夾都有不同的定義文件)。 我還打算使用這些數據來動態構建我的應用程序的接口,並定義將數據重新保存到XML文件時如何格式化數據。

    4熱度

    1回答

    我需要像這樣定義使用反射的東西散發出: public class Foo { public Bar Bar { get; set; } } public class Bar { public Foo Foo { get; set; } } 的困難是,調用TypeBuilder.DefineProperty()的時候,我需要通過該屬性返回值的System.Type,尚

    1熱度

    1回答

    我正在創建一個基於現有接口WCF關注的接口,但我有「DefineParameter」不設置參數名稱(創建類型的方法參數沒有名稱)。 你能看出原因嗎? public static Type MakeWcfInterface(Type iService) { AssemblyName assemblyName = new AssemblyName(String.Format("{

    3熱度

    1回答

    我有一個解決參考dll類型的策略。我一直試圖解決正在編譯的程序集中定義的類型。我正在使用沒有第三方庫的System.Reflection.Emit apis。 例如: class A {} class B { public A AnInstanceOfA {get; private set;} } 什麼是解決B的A的參考的最佳方式? 這個怎麼樣: class A {