有没有办法列出 .Net 程序集中某个方法的所有调用和硬编码字符串参数?

发布于 2024-10-04 14:21:06 字数 373 浏览 2 评论 0原文

例如,假设在我的程序集中,在命名空间 A、类 B 中,有一个具有以下签名的实例方法:

void Test(string someString, int someOtherParm, string someOtherString );

从程序集中的多个位置多次调用此方法。 我希望能够构建此方法的所有调用以及 someString/someOtherString 的值的列表(假设它们是硬编码的)。

换句话说,我喜欢提取一个调用列表,如下例所示,如果它们发生在程序集中的某个地方:

Test("some text", 8, "some other text"); 

提前致谢, R。

For example, assume that in my assembly, in Namespace A, Class B, there is an instance method with the following signature:

void Test(string someString, int someOtherParm, string someOtherString );

This method is called multiple times, from multiple places in the assembly.
I would like to be able build a list of all invocations of this method and the value of the someString/someOtherString (assuming they are hardcoded).

In other words, I like to extract a list of calls like the example one below, if they happen in the assembly somewhere:

Test("some text", 8, "some other text"); 

Thanks in advance,
R.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

对风讲故事 2024-10-11 14:21:06

您可以使用 Cecil 库,这是一个非常强大的 IL 检查和修改 API。您将需要创建一个“方法访问者”,它将扫描调用指令并尝试定位加载到堆栈上的常量字符串。

You could use the Cecil library, which is a very powerful IL inspection and modification API. You will want to create a "method visitor" that will scan for call instructions and attempt to locate constant strings loaded onto the stack.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文