Jad*_*ias 5 .net c# inheritance virtual-functions interface
我不能这样做
interface InterfaceA
{
void MethodA();
}
class ClassA : InterfaceA
{
virtual void InterfaceA.MethodA()
// Error: The modifier 'virtual' is not valid for this item
{
}
}
Run Code Online (Sandbox Code Playgroud)
以下工作地点
class ClassA : InterfaceA
{
public virtual void MethodA()
{
}
}
Run Code Online (Sandbox Code Playgroud)
为什么?如何规避这个?
我认为这是因为当一个成员被显式实现时,它不能通过类实例访问,而只能通过接口的实例访问.
因此,在这种情况下,制作"虚拟"的东西确实没有意义,因为虚拟意味着您打算在继承的类中覆盖它.明确地 实现接口并使其成为虚拟接口将是矛盾的.这也可能是编译器不允许这样做的原因.
为了解决这个问题,我认为csharptest.net或菲利普的回答听起来像是可以解决问题
| 归档时间: |
|
| 查看次数: |
3254 次 |
| 最近记录: |