Xamarin.Android Binding错误收集及解决方法,原因分析

  1. error CS0102: The type 'XxxEventArgs' already contains a definition for 'P0'
    原因
    A. 在Java接口中,一般写法可能会有类似方法重写的写法(如下接口A),而java接口方法在绑定成c#接口的时候会自动生成委托(delegate)和委托参数(EventArgs),委托参数一般会以方法名称加EventArgs继承自System.EventArgs,比如java中方法名称为onComplete,则生成委托参数类名为CompleteEventArgs,这样如果一个接口中有多个同名方法的话就会出现这种绑定错误。
    B. 如果同一个包下有多个接口的方法名称相同的话也会出现这种绑定错误,如一下接口A和B。
    解决方法:修改方法名称(a)或者委托参数类名(b)
a. <attr path="/api/package[@name='xxx.xxx.xxx']/interface[@name='Xxx']/method[@name='onComplete']" name="managedName">onCompleted</attr>
b. <attr path="/api/package[@name='xxx.xxx.xxx']/interface[@name='Xxx']/method[@name='onComplete']" name="argsType">UICompleteEventArgs</attr>
// java接口
public interface AListener {
    void onComplete(int arg);
    void onComplete(int arg, int source);
}

public interface BListener {
    void onComplete(int arg);
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 专业考题类型管理运行工作负责人一般作业考题内容选项A选项B选项C选项D选项E选项F正确答案 变电单选GYSZ本规程...
    小白兔去钓鱼阅读 13,374评论 0 13
  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 13,910评论 1 32
  • 小编费力收集:给你想要的面试集合 1.C++或Java中的异常处理机制的简单原理和应用。 当JAVA程序违反了JA...
    八爷君阅读 10,256评论 1 114
  • 一、Python简介和环境搭建以及pip的安装 4课时实验课主要内容 【Python简介】: Python 是一个...
    _小老虎_阅读 11,329评论 0 10
  • http://liuxing.info/2017/06/30/Spring%20AMQP%E4%B8%AD%E6%...
    sherlock_6981阅读 16,186评论 2 11

友情链接更多精彩内容