利用反射发射的优点。所以你可以写一些代码 IL :
IL
static DynamicMethod Method6() { DynamicMethod method1 = new DynamicMethod("Method5", typeof(void), new Type[] { typeof(DateTime) }); ILGenerator il = method1.GetILGenerator(); il.EmitWriteLine("In function 6: "); il.Emit(OpCodes.Ldarg_0); il.Emit(OpCodes.Box, typeof(DateTime)); il.Emit(OpCodes.Call, typeof(Console).GetMethod("WriteLine", new Type[] { typeof(object) })); il.Emit(OpCodes.Ret); return method1; }
您可以使用emit和UpCodes执行更多操作: