¿Qué significa "nuevo método de vacío virtual público ()"?

¿Cuándo utilizar nuevas palabras clave virtuales para decorar el método? que es el cariño Al igual que definir una interfaz, y agregar una clase para heredar la interfaz. Pero usa el nuevo virtual para realizar el método de interfaz.

<code> interface IPrinter
{
    void Print();
}

 public class PrinterOne : IPrinter
{
    public void Print() 
    {
        Console.WriteLine("PrinterOne.");
    }
}

public class PrinterTwo : PrinterOne
{
    public new virtual void Print()
    {
        Console.WriteLine("PrinterTwo.");
    }
}

public class PrinterThree : PrinterTwo
{
    public override void Print()
    {
        Console.WriteLine("PrinterThree.");
    }
}

public class PrinterFour : PrinterThree
{
    public override void Print()
    {
        Console.WriteLine("PrinterFour.");
    }
}

 static void Main(string[] args)
    {
        IPrinter iprinter = new PrinterFour();
        iprinter.Print();//the output is PrinterOne? why???
        Console.ReadLine();
    }
</code>

Respuestas a la pregunta(4)

Su respuesta a la pregunta