猿问

奇怪的问题,实现一个接口,但是可以将接口的方法定义成了Protected!

今天要在处理一个问题的时候,查看了一个类的源码,发现其实现了ICallbackEventHandler接口,但是它的方法声明中确是Protected的,很是奇怪,而我发现如果实现一个接口的时候,将接口中的方法声明为Protected是不能编译的.反编的源码原型:

public abstract class ASPxWebControl : ICallbackEventHandler

......省略其它定义

protected virtual string GetCallbackResult();

 protected virtual void RaiseCallbackEvent(string eventArgument);


尚方宝剑之说
浏览 519回答 2
2回答

眼眸繁星

不光是接口的问题,这个虚拟方法没有实现内容也是编译不过去的。除非将 virtual 换成 abstractprotected virtual string GetCallbackResult();严重怀疑这个代码是否可以编译通过。或者你这个代码不是C#的语法,是不是C++的?C++好像允许这样写。

HUH函数

我记得是protected abstract可以重写成public virtual,但是反着来是不行的,编译通过了?具体这个类在哪里?我也反编译一下
随时随地看视频慕课网APP
我要回答