Я бы хотел как-то найти все 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
.
Есть идеи?