我有以下代碼:強制重寫方法基類
public partial class Root : ICustomInterface
{
public virtual void Display()
{
Console.WriteLine("Root");
Console.ReadLine();
}
}
public class Child : Root
{
public override void Display()
{
Console.WriteLine("Child");
Console.ReadLine();
}
}
class Program
{
static void Main(string[] args)
{
Root temp;
temp = new Root();
temp.Display();
}
}
Output: "Root"
Desired output: "Child"
當我實例化一個Root
對象並調用Display()
方法我想在Child
顯示重寫的方法這是可能的。
我需要這個,因爲我必須創建一個插件,是一個擴展,基本代碼和空洞的Root
類的Display()
方法,當我實例化一個根對象和呼叫僅實現插件的方法Child
我不認爲你完全理解繼承。如果您希望Display()方法輸出「Child」,您需要創建一個Child實例。 – 2013-04-04 09:11:03
對於您編輯的部分問題,您應該看到:http://stackoverflow.com/questions/2779146/c-is-there-它是繼承的方法 - 類 - 去除 - 方法,也是這樣一個:http:// stackoverflow。com/questions/1125746/how-to-hide-remove-a-base-classs-methods-in-c – Habib 2013-04-04 09:25:54