這是我第一次碰到這個問題,這很奇怪,但是:如何在C#接口中定義構造函數?編輯有些人想要一個例子(這是一個空閑時間項目,所以是的,這是一個游戲)IDrawable + Update + Draw為了能夠更新(檢查屏幕邊緣等)并繪制自己,它總是需要一個GraphicsDeviceManager。所以我想確保對象有引用它。這將屬于構造函數。現在,我寫下來我想我在這里實施的IObservable和GraphicsDeviceManager應該采取的IDrawable......看來要么我不明白的XNA框架或框架不是想出來的非常好。編輯在接口的上下文中,我對構造函數的定義似乎有些混亂。實際上不能實例化接口,因此不需要構造函數。我想要定義的是構造函數的簽名。正如接口可以定義某個方法的簽名,接口可以定義構造函數的簽名。
3 回答

慕工程0101907
TA貢獻1887條經驗 獲得超5個贊
你不能。它偶爾會很痛苦,但無論如何你都無法使用普通技術來調用它。
在博客文章中,我建議靜態接口只能在泛型類型約束中使用 - 但可能非常方便,IMO。
關于如果你可以在一個接口中定義一個構造函數的一點,你在導出類時遇到了麻煩:
public?class?Foo?:?IParameterlessConstructor{ ????public?Foo()?//?As?per?the?interface ????{ ????}}public?class?Bar?:?Foo{ ????//?Yikes!?We?now?don't?have?a?parameterless?constructor... ????public?Bar(int?x) ????{ ????}}
- 3 回答
- 0 關注
- 772 瀏覽
添加回答
舉報
0/150
提交
取消