我想以某種方式找到所有DynamicMethods
我在目前情況下,考慮到我有以下方法和委託:使用反射來找到DynamicMethods
public delegate double DivideInvoker(int a, int b);
public DivideInvoker CreateInvoker()
{
Type[] methodArguments = {
typeof(int),
typeof(int)
};
DynamicMethod division = new DynamicMethod(
"Division",
typeof(double),
methodArguments,
typeof(MyMethodCreator));
ILGenerator il = division.GetILGenerator();
il.Emit(OpCodes.Ldarg_0);
il.Emit(OpCodes.Ldarg_1);
il.Emit(OpCodes.Div);
il.Emit(OpCodes.Ret);
var divideIt = (DivideInvoker)division.CreateDelegate(typeof(DivideInvoker));
return divideIt;
}
如果我做的事:var divideIt = CreateInvoker();
,可我莫名其妙使用反射來找到動態方法的方法?
根據MSDN,上述動態方法將是靜態的,一旦它不再使用,它將被GC處理,我只是用它來反思。
我試過在執行程序集中獲取所有類型,並列出了它們上的所有方法,但是我找不到DynamicMethod
上的任何東西。
任何想法?
說明:他想找到所有尚未被垃圾收集的已創建DynamicMethods。 – sisve