美文网首页
Xamarin.Android Binding错误收集及解决方法

Xamarin.Android Binding错误收集及解决方法

作者: 丿幻想天空 | 来源:发表于2019-10-06 17:59 被阅读0次
    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);
    }
    

    相关文章

      网友评论

          本文标题:Xamarin.Android Binding错误收集及解决方法

          本文链接:https://www.haomeiwen.com/subject/npgupctx.html