gpt4 book ai didi

c# - Microsoft fakes 的 shim 在内部是如何工作的?

转载 作者:太空狗 更新时间:2023-10-29 20:23:51 24 4
gpt4 key购买 nike

所以我对它的实现方式很感兴趣。基本上:我怎样才能自己重新实现同样的事情?......我不打算这样做。明白就好。

基本问题是:怎么可能(?)完全拦截类实例化?如何在一种情况下将其替换为一种实现,而在另一种情况下将其替换为原始实现或什至不同的实现?

怎么可能拦截静态方法或密封类。

这都是关于垫片/痣的,而不是关于 stub 的。

最佳答案

这是通过更改编译器发出的通用中间语言 (IL) 代码来完成的。您可以使用 Fody 进行预打包的 IL 修改。图书馆。 Fody 内部使用 mono.cecil用于低级 IL 操作的库。编译器生成的 IL 被修改并作为程序集保存到磁盘。

我在 Moles 上找到了这个引用出版物[pdf文件]。第 4 节解释了代码检测的机制。

关于c# - Microsoft fakes 的 shim 在内部是如何工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25281825/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com