好吧,它需要virtual是可以覆盖它(通过编写一个继承自类的动态类型),你不能拥有private virtual(它没有意义).你可以覆盖一个internal virtual,但我怀疑即使这可能会遇到安全问题.所以最终,我会说不.
不仅仅使用反射.也许您可以做的最好的事情是使用Reflection,结合Reflection.Emit或CodeDom将类复制到新的命名空间中.当您遇到要替换的私有方法时,不要复制它,而是放弃替换.
但是,开发人员可以使用许多技术来使这种技术变得更加困难.将类的实现分解为许多私有或内部类就是这样的.
注意:使用CodeDom,您必须在内存中构建图形,编译它,然后加载生成的程序集.
这可能比它的价值更麻烦.
另一种方法是使用Reflector来反汇编类,使用方法replace来获取代码并从中构建自己的类.同样需要克服重大的技术和法律障碍.您可以从反汇编代码中学到很多东西.
| 归档时间: |
|
| 查看次数: |
8099 次 |
| 最近记录: |