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

为什么java可以实例化接口,这种语法和C#怎么对应的?

为什么java可以实例化接口,这种语法和C#怎么对应的?

慕码人8056858 2019-04-16 17:05:44
privatevoiddoWebLogin(StringverifyCode,finalProcActionFuturefuture){LoginModulelogin=getContext().getModule(QQModule.Type.LOGIN);QQAccountaccount=getContext().getAccount();login.webLogin(account.getUsername(),account.getPassword(),account.getUin(),verifyCode,newQQActionListener(){//此处的QQActionListener是个接口,在下面publicvoidonActionEvent(QQActionEventevent){if(event.getType()==QQActionEvent.Type.EVT_OK){doCheckLoginSig((String)event.getTarget(),future);}elseif(event.getType()==QQActionEvent.Type.EVT_ERROR){QQExceptionex=(QQException)(event.getTarget());if(ex.getError()==QQErrorCode.WRONG_CAPTCHA){doGetVerify(ex.getMessage(),future);}else{future.notifyActionEvent(QQActionEvent.Type.EVT_ERROR,(QQException)event.getTarget());}}}});}publicinterfaceQQActionListener{publicvoidonActionEvent(QQActionEventevent);}那么这种语法在C#里怎么【更好的】移植呢?我现在的做法是重写一个类,继承QQActionListener,然后在实例化。但是这种写法在这个项目中比较多,所以要为了一个方法就要重新写一个类,实在是太难看了。请问有什么方法能更好的该写如上面的那样的java语法到C#吗
查看完整描述

2 回答

?
米脂

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

你要知道JAVA这样写的意义在哪~最常见的用法是用于您代码里提出来的这种方法。其实本质上他就是传一个方法进去使用。OK~c#都有delegate了,都有Lambda了,干嘛还要用这样笨重的语法呢?
                            
查看完整回答
反对 回复 2019-04-16
  • 2 回答
  • 0 关注
  • 285 浏览
慕课专栏
更多

添加回答

举报

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