¿Es posible que el método a.doStuff() imprima "B hizo cosas" sin editar la clase A? Si es así, ¿cómo lo haría?Llamando al método de clase hijo del padre
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");
}
}
Estoy modding a steam game, Terraria. Y no quiero descompilarlo y volver a compilarlo todo, porque eso funcionará con fuerza. Mi programa 'inyecta' en Terraria a través de XNA. Puedo usar los métodos update() y draw() de XNA para modificar algunas cosas. Pero es bastante limitado. Quiero anular los métodos base para modificar más cosas (worldgen, por ejemplo).
Como A.doStuff está simplemente para ser reemplazado, debe ser abstracto en lugar de virtual. –