【问题标题】:Xamarin Android library binding, remove override modifierXamarin Android 库绑定,移除覆盖修饰符
【发布时间】:2017-04-22 22:00:56
【问题描述】:

我正在尝试在 Xamarin Android Binding 项目中绑定 Android PDF 库,但在属性中添加了不必要的“覆盖”修饰符:

public partial class ReaderView : global::Android.Widget.AdapterView, [...] {
    // ...

    public override unsafe global::Android.Widget.IAdapter Adapter {
        // Metadata.xml XPath method reference: path="/api/package[@name='com.artifex.mupdfdemo']/class[@name='ReaderView']/method[@name='getAdapter' and count(parameter)=0]"
        [Register ("getAdapter", "()Landroid/widget/Adapter;", "GetGetAdapterHandler")]
        get {
            // ...
        }
        // Metadata.xml XPath method reference: path="/api/package[@name='com.artifex.mupdfdemo']/class[@name='ReaderView']/method[@name='setAdapter' and count(parameter)=1 and parameter[1][@type='android.widget.Adapter']]"
        [Register ("setAdapter", "(Landroid/widget/Adapter;)V", "GetSetAdapter_Landroid_widget_Adapter_Handler")]
        set {
            // ...
        }
    }

    // ...
}

我没有找到任何关于在the documentation 中添加/删除修饰符的信息,例如“覆盖”或“虚拟”。

我试过这个没有成功:

<attr path="/api/package[@name='com.artifex.mupdfdemo']/class[@name='ReaderView']/method[@name='getAdapter' and count(parameter)=0]" name="override">false</attr>
<attr path="/api/package[@name='com.artifex.mupdfdemo']/class[@name='ReaderView']/method[@name='setAdapter' and count(parameter)=1 and parameter[1][@type='android.widget.Adapter']]" name="override">false</attr>

你们知道怎么做吗?

编辑 1:Java 项目在 GitHub 上:https://github.com/asimmon/MuPDF-for-Android,这里是 direct link to the file ReaderView.java

编辑 2:Xamarin 绑定项目也在 GitHub 上,您将找到 Jar 库:https://github.com/asimmon/MuPDF-for-Xamarin-Android

【问题讨论】:

标签: dll xamarin binding xamarin.android


【解决方案1】:

解决方法是修改Metadata.xml中方法的visibility

<attr 
   path="/api/package[@name='com.artifex.mupdfdemo']/class[@name='ReaderView']/method[@name='getAdapter']"
   name="visibility">public</attr>

这有效地从您的方法签名中删除了 override 关键字。

【讨论】:

  • 为我工作,但在较新的 Xamarin 版本中可能不相关。
猜你喜欢
  • 1970-01-01
  • 2016-05-12
  • 1970-01-01
  • 2015-03-06
  • 2021-03-23
  • 1970-01-01
  • 2020-06-16
  • 2017-12-10
相关资源
最近更新 更多