public class A
{
public int F()
{
// do something
}
}
public class B : A
{
public static B F()
{
B b = new B();
// do something more with b
b.base.F(); // this doesn't work
b.A.F(); // this doesn't work either
return b;
}
}
調用A.F()的正確語法是什麼?請注意B.F()是一個靜態函數。調用靜態函數內部的基類過載函數?
關於編輯「改名字評論」:
請不要犯錯誤從此剝離下來的基本例子得出結論。實際上這些函數是用來讀取XML的,所有受影響的類的函數簽名是ReadXML (XmlNode parent, int id)
。
你試過嗎?((A)B).F()'?儘管我的首選解決方案是重命名其中一個F。 :) – Chris
這不能被認爲是超載功能的一個壞的使用? – m0skit0
你不能通過這種方式調用,你應該嘗試在類A中創建一個構造函數,然後在這個構造函數中調用方法F() – Gandarez