有没有办法反编译由NHibernate生成的动态代理类?
我真的很想知道NHibernate生成的动态代理类中发生了什么。
我非常清楚NHibernate动态代理在更高级别上做了什么,但在调试会话期间能够对它们进行反编译(使用Reflector或类似的东西)肯定会派上用场。
那么,有没有办法对NHibernate生成的动态代理类进行反编译?
它可以使用NHibernate 3.2.0(旧版本不自己生成代理)来完成。 只需使用DEBUG和DEBUG_PROXY_OUTPUT编译符号重新编译NHibernate源代码。 然后,当创建代理类型时,NHibernate会将模块(* .mod)和程序集(generatedAssembly.dll)文件写入当前目录。
如果您正在参考NHibernate的集合代理,您可以只下载NHibernate的源代码,但是如果您在运行时引用动态代理的nhibernate生成而不是我认为您可以。
只需获取类所在的程序集并使用ILSpy打开它。
在动态生成代理的情况下:
它也驻留在一个程序集中。 您可以在程序中放入一些代码,用于标识生成的代理类所在的程序集,并将其转储到磁盘,然后在ILSpy中打开它。
- 在WinRT应用程序中处理向上滑动,向下滑动,向左滑动和向右滑动手势
- 在C#中的界面内使用时,’new’关键字的含义是什么?
- Facebook .NET客户端SDK是否支持通过AppStudio生成的通用应用程序/应用程序?
- 如何管理水晶报表中的页面大小和边距?
- Moq Params TargetParameterCountException:参数计数不匹配exception
- 使用Socket.BeginAccept / EndAccept进行多个连接
- 为什么在webservice中的方法在c#中返回Arraylist时发生exception?
- 没有强命名的代码签名是否会让您的应用程序被滥用?
- 在Windows窗体中切换开关控件