public interface InterfaceCommon
public class Implementacion1 : InterfaceCommon
Console.WriteLine("I am Method1");
public class Implementacion2 : InterfaceCommon
Console.WriteLine("I am Method2");
private readonly InterfaceCommon interfaceCommon;
protected A(InterfaceCommon interfaceCommon)
this.interfaceCommon = interfaceCommon;
public void CallFunction()
interfaceCommon.Function();
public B() : base(new Implementacion1()) { }
public C() : base(new Implementacion2()) { }
public static void Main(string[] args)