C# 从类的实例重写方法
我有一个非常简单的问题,但似乎找不到答案,我想知道是否可以从实例类structore重写方法,如下所示:C# 从类的实例重写方法,c#,C#,我有一个非常简单的问题,但似乎找不到答案,我想知道是否可以从实例类structore重写方法,如下所示: public class A : baseA { public virtual void methodA() { } } public class B : baseB { public void method B() { var ClassA = new A(); } /* Now Is there
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中是可能的,那么?否。如果不从类继承,则不能重写类的行为 重写修饰符是扩展或修改继承的方法、属性、索引器或事件的抽象或虚拟实现所必需的 类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
}
}
查看更多详细信息:
重写方法提供从基类继承的成员的新实现。被重写声明重写的方法称为重写基方法。被重写的基方法必须与重写方法具有相同的签名
您不从A继承,那么您希望如何重写它?这是可能的,您需要继承表单A并保留返回类型,在本例中为void。你在代码中试过吗?如果你问的是变量ClassA,你就不能重写methodA。@Wojciech Szabowicz-这回答了你的问题吗?另外,如果你解释一下你想要实现的目标,我们可以以不同的方式帮助你,这些类不会相互继承,这会让事情变得更加困难,所以你写的基本上是正确的,但不是在这个概念中,我对如何使用策略模式感到担忧。@WojciechSzabowicz-如果不了解您所面临的实际问题,就无法给出任何反馈。。。