C#编译器/链接器选项:CSC.exe,类似于--wrap in gcc?

C#编译器/链接器选项:CSC.exe,类似于--wrap in gcc?,c#,gcc,C#,Gcc,在gcc中,当我们指定-Wl,--wrap=function\u name时,它将所有对“function\u name”的调用替换为“\uuuuuuwrap\u function\u name”,并期望用户为“\uuuuwrap\u function\u name”提供定义。它将原始方法重命名为“\uuuu real\u function\u name” 这有助于钩住源代码中的任何函数,当然,如果需要,我们可以调用real方法 C#编译器/链接器中是否有类似的选项? 我试图重写托管dll中的某

在gcc中,当我们指定
-Wl
--wrap=function\u name
时,它将所有对“function\u name”的调用替换为“\uuuuuuwrap\u function\u name”,并期望用户为“\uuuuwrap\u function\u name”提供定义。它将原始方法重命名为“\uuuu real\u function\u name”

这有助于钩住源代码中的任何函数,当然,如果需要,我们可以调用real方法

C#编译器/链接器中是否有类似的选项? 我试图重写托管dll中的某些函数。我有那个dll的源代码。
我不能使用任何可用的模拟框架,因为我的方法是内部的和非虚拟的。

不,我不知道C#中有任何这样的功能,也不知道微软的实现


如果你已经有了源代码,你能不适当地修改它吗?听起来你想让它比现在更具可扩展性-所以你自己添加可扩展性挂钩。

谢谢你的回复!!我无法更改源代码,因为它正在生产中,我所做的只是为低级API编写单元测试。我将继续实现我自己的钩子,并进行选择性编译。