我想爲我的所有控件和我的表單添加一些自定義功能。我創建了一個類MyControl,並且沒有問題只是在做:.NET:繼承MyControl for Windows.Forms
MyControl : Control
然後讓我的控件從MyControl繼承。
但是,我希望我的表單具有相同的功能,並且由於Form從ContainerControl,Scrollable Container和THEN Control繼承,所以我將不得不創建我自己的所有這些版本,以使其使用MyControl,這似乎效率低下。
有沒有解決這個辦法嗎?我不能使用的接口,我不希望創建類名爲MyForm的副本具有相同的功能MyControl
謝謝。其實我並不尋找重複的inhertitance,儘管我現在有這個問題我很高興Java/.NET創建者選擇跳過多繼承 – Rolle
@Rolle:我很想知道爲什麼你很高興他們跳過它。如果你有興趣,這裏是他們做的鈦:http://blogs.msdn.com/csharpfaq/archive/2004/03/07/85562.aspx – Brann
我曾經有一個非常真實的與「鑽石問題」相遇,在一個更大的C++項目中,這迫使我們在後期重寫很多代碼。一般來說,我認爲在某種程度上,如果你從一開始就不太瞭解你的應用程序的外觀,那麼你的大腦在做MI時肯定會受到傷害,而且我發現你通常不會。 – Rolle