static void Main(string[] args) { // puedes declarar de tipo clase padre y asignarle una calse hijo Animal perro = new Perro(); Animal vaca = new Vaca(); Animal oveja = new Oveja(); // o puedes definirla totalmente como una clase hijo y aun asi lo aceptara Oveja ovejaO = new Oveja(); AnimalHaceRuido(perro); AnimalHaceRuido(vaca); AnimalHaceRuido(oveja);// como la oveja no tiene un override para el sonido, muestra el rudio generico AnimalHaceRuido(ovejaO); Console.ReadKey(); }
public void moverOveja(Oveja ov) { Dispatcher.BeginInvoke(new Action(() => { try { Canvas ct = cancha[ov.antx, ov.anty]; if ((string)ct.Tag == "ov") { Grid.SetColumn(ct, ov.PX); Grid.SetRow(ct, ov.PY); cancha[ov.PX, ov.PY] = ct; cancha[ov.antx, ov.anty] = null; ov.antx = 0; //Incorporar en la propiedad ov.anty = 0; } } catch { } })); }