作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
根据 MSDN MethodRental Class允许更改动态模块的方法体。然而,由于它的局限性,我想不出它的实际用途。谷歌也没有帮助我。
有什么想法可以使用该类吗?
最佳答案
这在精神上类似于 ICorProfilerCallback::JITCompilationStarted
与 ICorProfilerInfo::SetILFunctionBody
配对时,但有更多的限制。 ICorProfiler*
类可用于对几乎任何托管方法进行运行时检测。有一些分析器和调试器使用它们来收集有关正在运行的进程的信息。
您可以使用 MethodRental
为诊断目的检测代码。一些例子:
MethodRental
增强现有代码的功能。
Aspect-oriented programming想到了。您可以将安全、日志记录或其他横切设计关注点“编织”到现有代码中。但是,这将需要一些其他工具(XML、C# 库)来表达您的方面。
MethodRental
“绕道”现有代码,即拦截方法调用以创建一种运行时多态性。例如,如果您的客户端代码使用一些动态生成的类
RegistryStore
通过
GetConfig
获取一些配置,您可以重写方法的 IL 以更改
RegistryStore.GetConfig
的实现改为使用文件系统。您可以执行此操作而无需更改客户端代码。
关于.net - MethodRental 类的实际用法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2847942/
根据 MSDN MethodRental Class允许更改动态模块的方法体。然而,由于它的局限性,我想不出它的实际用途。谷歌也没有帮助我。 有什么想法可以使用该类吗? 最佳答案 这在精神上类似于 I
我是一名优秀的程序员,十分优秀!