co oznacza „publiczna nowa wirtualna metoda void ()”?
kiedy używasz nowych wirtualnych słów kluczowych do dekoracji metody? co to za uczucie? Podobnie jak zdefiniować interfejs i dodać klasę, aby dziedziczyć interfejs. ale użyj nowego wirtualnego do realizacji metody interfejsu.
<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>