今天要在處理一個問題的時候,查看了一個類的源碼,發(fā)現(xiàn)其實現(xiàn)了ICallbackEventHandler接口,但是它的方法聲明中確是Protected的,很是奇怪,而我發(fā)現(xiàn)如果實現(xiàn)一個接口的時候,將接口中的方法聲明為Protected是不能編譯的.反編的源碼原型:public abstract class ASPxWebControl : ICallbackEventHandler......省略其它定義protected virtual string GetCallbackResult(); protected virtual void RaiseCallbackEvent(string eventArgument);
2 回答

眼眸繁星
TA貢獻(xiàn)1873條經(jīng)驗 獲得超9個贊
不光是接口的問題,這個虛擬方法沒有實現(xiàn)內(nèi)容也是編譯不過去的。
除非將 virtual 換成 abstract
protected virtual string GetCallbackResult();
嚴(yán)重懷疑這個代碼是否可以編譯通過。
或者你這個代碼不是C#的語法,是不是C++的?C++好像允許這樣寫。

HUH函數(shù)
TA貢獻(xiàn)1836條經(jīng)驗 獲得超4個贊
我記得是protected abstract可以重寫成public virtual,但是反著來是不行的,編譯通過了?具體這個類在哪里?我也反編譯一下
- 2 回答
- 0 關(guān)注
- 534 瀏覽
添加回答
舉報
0/150
提交
取消