在 gcc 中,当我们指定-Wl
,时--wrap=function_name
,它会将所有对“function_name”的调用替换为“__wrap_function_name”,并期望用户提供“__wrap_function_name”的定义。它将原始方法重命名为“__real_function_name”。
这有助于挂钩源代码中的任何函数,当然我们可以根据需要调用真实方法。
C# 编译器/链接器中是否有类似的选项?我正在尝试覆盖托管 dll 中的一些函数。我有那个 dll 的源代码。我不能使用任何可用的模拟框架,因为我的方法是内部的和非虚拟的。