我正在構建一個使用反射的動態方法。大多數教程和文檔(例如How to: Define and Execute Dynamic Methods或Creating method dynamically, and executing it)都顯示了一個非常簡單的示例。 我試圖找到一種方法來引用動態程序集中的另一個程序集。 例如,我希望能夠通過使用Reflection.Emit構造以下功能。 public
我試圖在運行時創建一個類型,在我添加到此類型上的每個屬性上粘貼StuckAttribute屬性。 類型構建: private TypeBuilder getTypeBuilder()
{
var typeSignature = "IDynamicFlattenedType";
var an = new AssemblyName(typeSignature);
我使用Reflection.Emit和TypeBuilder創建一個新的類型在運行時。我的設置是這樣的: public class MyClass {
public object MyField = CreateInstanceOfNewType();
public MyClass() {}
}
問題是MyClass.MyField聲明瞭object型,所以當澆注料類型分
如何設置.maxstack指令與ILGenerator? 例如,一個典型的setter方法具有的.maxstack : .maxstack 2 // The evaluation stack has a max size of 2
IL_0000: ldarg.0 // the current instance (this)
IL_0001: ldarg.1 // new