我創建了類似的命名(但不相同)類型的參數,兩個過載方法,以及它們的聲明如下:如何解決方法參數中命名類型相同的錯誤?
public static RectangleNineSides GetRectangleSide(System.Drawing.Rectangle rect, System.Drawing.Point p)
public static RectangleNineSides GetRectangleSide(Microsoft.Xna.Framework.Rectangle rect, Microsoft.Xna.Framework.Point p)
正如你所看到的,參數是兩種方法不同,但調用時他們中的一個,像這樣:
h.RectangleNineSides side = h.GetRectangleSide(new Microsoft.Xna.Framework.Rectangle(), new Microsoft.Xna.Framework.Point());
在我的XNA項目中,我得到一個錯誤說:
類型「System.Drawing.Point」在一個組件,該組件定義未引用。您必須添加一個引用到組裝「System.Drawing中,版本= 4.0.0.0,誇誇其談」
但是爲什麼對其它方法的編譯程序護理,如果它甚至沒有任何地方在當前項目中稱爲?出現在任何的WinForms項目但XNA的類型
類似的錯誤。我甚至明確寫了Rectangle
和Point
我說的是,我仍然得到這個錯誤。我究竟做錯了什麼?沒有得到這種錯誤,是不可能有重載的方法?我應該改變他們的名字嗎?
僅僅因爲方法不叫..並不意味着它不在最後的程序集中。最後的組裝需要元數據..,使得在斷開的機會另一個組件通過反射調用它..它知道在被叫方的每個類型(除其他外)。 –
那麼我不應該把它們混入我的幫手類中? – user1306322