![]() |
1
1
不管您在与基类或接口提供的契约进行对话,它们都将返回1,因为您正在与类B的实例进行对话。 |
![]() |
2
2
改写: 既然我们在讨论实现IDisposable 真的? 重要的是确保派生类和基类都有机会运行各自的清理代码。此示例将涵盖场景的2/3;但是,由于它是从base()派生的,base.dispose()不是虚拟的,因此对((base)child.dispose()的调用将不会为子类提供清理的机会。 唯一的解决办法是不要从基地获得孩子,但是这已经被排除了。调用((IDisposable)child.Dispose()和child.Dispose()将允许child和base执行其清理代码。
|
![]() |
3
1
Jeffrey Richter(clr via c): “C编译器要求实现接口的方法标记为public。 clr要求将接口方法标记为virtual。如果你没有明确的标记 方法在源代码中是虚拟的,编译器将该方法标记为虚拟的和 密封;这将防止派生类重写接口方法。如果你明确 将该方法标记为虚方法,编译器将该方法标记为虚方法(并使其不密封); 这允许派生类重写接口方法“ |
![]() |
Emopusta · 从后端到前端的图像路径不工作 2 年前 |
![]() |
Asdrubal Hernandez · Linq查询特定数组索引出错 2 年前 |
![]() |
Niyazi Babayev · 如何在表达式中动态应用表达式? 2 年前 |
|
Dansih · .Net核心自定义身份验证方案 2 年前 |
![]() |
lolorekkk · 面板插入。NET WinForm 2 年前 |