using System;
public interface Interfaz
{
void Metodo();
}
public class Superclase : Interfaz
{
void Interfaz.Metodo() // implementación explícita del método de la interfaz
{
Console.WriteLine("Invocación de Método en Superclase.");
}
}
public class Subclase : Superclase, Interfaz
{
public new void Metodo()
{
Console.WriteLine("Invocación de Método en Subclase.");
}
public static void Main()
{
Subclase sc = new Subclase();
sc.Metodo(); // Salida 1: Invocación en Método en Subclase
((Interfaz)sc).Metodo(); // Salida 2: Invocación en Método en Subclase
}
}
dXNpbmcgU3lzdGVtOwoKcHVibGljIGludGVyZmFjZSBJbnRlcmZhegp7CiAgICB2b2lkIE1ldG9kbygpOwp9CgpwdWJsaWMgY2xhc3MgU3VwZXJjbGFzZSA6IEludGVyZmF6CnsKICAgIHZvaWQgSW50ZXJmYXouTWV0b2RvKCkgICAgLy8gaW1wbGVtZW50YWNpw7NuIGV4cGzDrWNpdGEgZGVsIG3DqXRvZG8gZGUgbGEgaW50ZXJmYXoKICAgIHsKICAgICAgICBDb25zb2xlLldyaXRlTGluZSgiSW52b2NhY2nDs24gZGUgTcOpdG9kbyBlbiBTdXBlcmNsYXNlLiIpOwogICAgfQp9CgpwdWJsaWMgY2xhc3MgU3ViY2xhc2UgOiBTdXBlcmNsYXNlLCBJbnRlcmZhegp7CiAgICBwdWJsaWMgbmV3IHZvaWQgTWV0b2RvKCkKICAgIHsKICAgICAgICBDb25zb2xlLldyaXRlTGluZSgiSW52b2NhY2nDs24gZGUgTcOpdG9kbyBlbiBTdWJjbGFzZS4iKTsKICAgIH0KICAgIAogICAgcHVibGljIHN0YXRpYyB2b2lkIE1haW4oKQoJewoJICAgIFN1YmNsYXNlIHNjID0gbmV3IFN1YmNsYXNlKCk7CgkgICAgc2MuTWV0b2RvKCk7ICAgICAgICAgICAgICAgLy8gU2FsaWRhIDE6IEludm9jYWNpw7NuIGVuIE3DqXRvZG8gZW4gU3ViY2xhc2UKCSAgICAoKEludGVyZmF6KXNjKS5NZXRvZG8oKTsgICAvLyBTYWxpZGEgMjogSW52b2NhY2nDs24gZW4gTcOpdG9kbyBlbiBTdWJjbGFzZQoJfQp9