[問題] override問題

看板C_Sharp作者 (隨便殺)時間16年前 (2009/11/24 19:39), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/2 (看更多)
首先,我想要直接繼承Socket類別,但是卻會出現 "方法 'Socket' 沒有任何多載使用 '0' 個引數" 的Error override 在MSDN上寫到: 提供繼承自基底類別的成員新實作。 被覆寫的基底方法必須是 virtual、abstract 或 override。 不能變更 virtual 方法的存取範圍。override 方法和 virtual 方法都必須有相同的存取層級修飾詞。 不能使用 new、static、virtual 或 abstract 等修飾詞修改 override 方法。 現在我需要繼承一個C#已經內建的socket類別,並且修改Send、Receive、Accept等 三個方法,使其呼叫的時候可以轉到form裡面的method 但是override裡的 "被覆寫的基底方法必須是 virtual、abstract 或 override" 這個條件卻只得我沒辦法直接使用override。 有嘗試過使用virtual和new,但是跑出的Error似乎更多= = 在C的MFC裡面可以直接繼承Socket類別,並且可以直接複寫過去, 可是C#似乎比較麻煩,目前不知道該如何下手,不知有哪位高手可以幫忙一下, 感謝~"~ 程式碼如下(Class.cs): using System; using System.Collections.Generic; using System.Net; using System.Net.Sockets; namespace classtest { class Class1 : Socket //Error:方法 'Socket' 沒有任何多載使用 '0' 個引數 { public override int Send(byte[] buffer) //無法覆寫繼承的成員 'System.Net.Sockets.Socket. Send(byte[])',因為它沒有標記 為 virtual、abstract 或 override { Console.WriteLine("OK"); return 0; } } } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.136.43.181
文章代碼(AID): #1B2yODVt (C_Sharp)
討論串 (同標題文章)
文章代碼(AID): #1B2yODVt (C_Sharp)