什么是对C#代码进行插装的最简单方法?插装是指在执行过程中插入自己的代码以收集一些动态信息。
例如(星号代表一些不重要的代码):
我希望能够捕捉到给i赋值为0,然后增加i的值并调用Substring方法。通过捕捉方法调用,我指的是我可以获取方法和参数的值等信息。
我尝试使用Roslyn来包装方法调用,这样可以a)拦截值并存储它们(例如),b)调用实际方法,c)返回结果。唯一的问题是,这种方法很容易出错且难以实现(因为有许多不同的情况需要考虑)。
我想知道是否已经有此类目的库,或者是否有更简单的方法来实现。谢谢!
例如(星号代表一些不重要的代码):
for (int i=0; i<s.Length-2; ++i) {
if (*)
s = s.Substring(1, s.Length-2);
}
我希望能够捕捉到给i赋值为0,然后增加i的值并调用Substring方法。通过捕捉方法调用,我指的是我可以获取方法和参数的值等信息。
我尝试使用Roslyn来包装方法调用,这样可以a)拦截值并存储它们(例如),b)调用实际方法,c)返回结果。唯一的问题是,这种方法很容易出错且难以实现(因为有许多不同的情况需要考虑)。
我想知道是否已经有此类目的库,或者是否有更简单的方法来实现。谢谢!