a.doStuff() 方法是否可以在不编辑 A 类的情况下打印“B did stuff”?如果是这样,我该怎么做?
class Program
{
static void Main(string[] args)
{
A a = new A();
B b = new B();
a.doStuff();
b.doStuff();
Console.ReadLine();
}
}
class A
{
public void doStuff()
{
Console.WriteLine("A did stuff");
}
}
class B : A
{
public void doStuff()
{
Console.WriteLine("B did stuff");
}
}
我正在修改一款 Steam 游戏,泰拉瑞亚。我不想反编译并重新编译它,因为这会毁了蒸汽。我的程序通过 XNA“注入”到泰拉瑞亚中。我可以使用 XNA 中的 update() 和 draw() 方法来修改一些东西。但它非常有限。我不想重写基本方法来修改更多东西(例如 worldgen)。
是的,如果您声明doStuff
as virtual
in A
进而override
in B
.
class A
{
public virtual void doStuff()
{
Console.WriteLine("A did stuff");
}
}
class B : A
{
public override void doStuff()
{
Console.WriteLine("B did stuff");
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)