![]() |
1
17
您可以生成动态方法,使代理使用Call(而不是CallVirt)指令
|
![]() |
2
2
当然,这样做的不幸后果是,您可能需要重新实现B中的部分或全部功能。如果需要,您可以从Reflector复制代码。我意识到这听起来不可取,但我仍然认为最好使用不可修改的代码,因为它有一个已知的问题,导致您的问题。 |
![]() |
3
1
恐怕这是不可能的,因为您描述虚拟方法的目的是为了使重写透明。所以唯一的办法就是通过变通办法。 让我试着想出一个,但请注意,这是一个黑客的建议。如果您的代码中真的需要这个构造,它可能表示您的代码在其他地方有一个基本的设计缺陷,因此重构某些东西可能比用另一个设计缺陷填充它更可取。但不管怎样。。。
|
![]() |
4
0
可能
顺便说一句,如果您像我在示例中那样命名方法,那么您可能应该重新考虑整个过程。如果这个层次结构是合理的,那么
|
![]() |
Emopusta · 从后端到前端的图像路径不工作 2 年前 |
![]() |
Asdrubal Hernandez · Linq查询特定数组索引出错 2 年前 |
![]() |
Niyazi Babayev · 如何在表达式中动态应用表达式? 2 年前 |
|
Dansih · .Net核心自定义身份验证方案 2 年前 |
![]() |
lolorekkk · 面板插入。NET WinForm 2 年前 |