Csharp/C#教程:有没有办法反编译由NHibernate生成的动态代理类?分享


有没有办法反编译由NHibernate生成的动态代理类?

我真的很想知道NHibernate生成的动态代理类中发生了什么。

我非常清楚NHibernate动态代理在更高级别上做了什么,但在调试会话期间能够对它们进行反编译(使用Reflector或类似的东西)肯定会派上用场。

那么,有没有办法对NHibernate生成的动态代理类进行反编译?

它可以使用NHibernate 3.2.0(旧版本不自己生成代理)来完成。 只需使用DEBUG和DEBUG_PROXY_OUTPUT编译符号重新编译NHibernate源代码。 然后,当创建代理类型时,NHibernate会将模块(* .mod)和程序集(generatedAssembly.dll)文件写入当前目录。

如果您正在参考NHibernate的集合代理,您可以只下载NHibernate的源代码,但是如果您在运行时引用动态代理的nhibernate生成而不是我认为您可以。

只需获取类所在的程序集并使用ILSpy打开它。
在动态生成代理的情况下:
它也驻留在一个程序集中。 您可以在程序中放入一些代码,用于标识生成的代理类所在的程序集,并将其转储到磁盘,然后在ILSpy中打开它。

上述就是C#学习教程:有没有办法反编译由NHibernate生成的动态代理类?分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/962531.html

(0)
上一篇 2021年11月27日
下一篇 2021年11月27日

精彩推荐