为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

C#
尚方宝剑之说 2018-12-24 14:09:12
今天要在处理一个问题的时候,查看了一个类的源码,发现其实现了ICallbackEventHandler接口,但是它的方法声明中确是Protected的,很是奇怪,而我发现如果实现一个接口的时候,将接口中的方法声明为Protected是不能编译的.反编的源码原型:public abstract class ASPxWebControl : ICallbackEventHandler......省略其它定义protected virtual string GetCallbackResult(); protected virtual void RaiseCallbackEvent(string eventArgument);
查看完整描述

2 回答

?
眼眸繁星

TA贡献1873条经验 获得超9个赞

不光是接口的问题,这个虚拟方法没有实现内容也是编译不过去的。

除非将 virtual 换成 abstract

protected virtual string GetCallbackResult();

严重怀疑这个代码是否可以编译通过。

或者你这个代码不是C#的语法,是不是C++的?C++好像允许这样写。


查看完整回答
反对 回复 2018-12-29
?
HUH函数

TA贡献1836条经验 获得超4个赞

我记得是protected abstract可以重写成public virtual,但是反着来是不行的,编译通过了?具体这个类在哪里?我也反编译一下

查看完整回答
反对 回复 2018-12-29
  • 2 回答
  • 0 关注
  • 518 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信