9
动态替换C#方法的内容?
我想做的是更改C#方法在调用时的执行方式,以便我可以编写如下内容: [Distributed] public DTask<bool> Solve(int n, DEvent<bool> callback) { for (int m = 2; m < n - 1; m += 1) if (m % n == 0) return false; return true; } 在运行时,我需要能够分析具有Distributed属性(我已经可以做到)的方法,然后在函数主体执行之前和函数返回之后插入代码。更重要的是,我需要能够在不修改调用Solve或在函数开始的地方修改代码(在编译时;在运行时这样做才是目标)。 目前,我尝试了这段代码(假设t是Solve的存储类型,而m是Solve的MethodInfo): private void WrapMethod(Type t, MethodInfo m) { // Generate ILasm for delegate. byte[] il = …
108
c#
methods
assemblies
cil
swap