我有一个简单的问题,但似乎找不到答案,我想知道是否有可能从实例类结构重写方法,看起来像这样:
public class A : baseA
{
public virtual void methodA()
{
}
}
public class B : baseB
{
public void method B()
{
var ClassA = new A();
}
/* Now Is there some sort of overide like */
public override methodA()
{
//Do stuff
}
}
并且这些类不能相互继承,这使它变得更加困难。那么这种构造在c#中是否可行呢?
No。如果你没有继承一个类,你就不能重写它的行为。
重写修饰符用于扩展或修改继承的方法、属性、索引器或事件的抽象或虚拟实现。
类B
必须从类A
继承。
public class A
{
public virtual void methodA()
{
}
}
public class B : A
{
public void methodB()
{
var ClassA = new A();
}
public override void methodA()
{
//Do stuff
}
}
查看MSDN获取更多详细信息:
重写方法提供从基类继承的成员的新实现。被覆盖声明覆盖的方法称为覆盖基方法。重写的基方法必须具有与重写方法
相同的签名。