gpt4 book ai didi

android - 使用 metadata.xml 删除绑定(bind) Xamarin 库中的 "virtual"关键字

转载 作者:行者123 更新时间:2023-11-30 02:01:06 25 4
gpt4 key购买 nike

我从 Java 绑定(bind)了一个 Xamarin 库,它生成了 1 个错误的函数。关键字应该是override,但目前它是virtual

// Metadata.xml XPath method reference: path="/api/package[@name='com.mapbox.mapboxsdk.tileprovider']/class[@name='MapTileLayerBase.CacheTask']/method[@name='doInBackground' and count(parameter)=1 and parameter[1][@type='java.lang.Object...']]"
[Register ("doInBackground", "([Ljava/lang/Object;)Ljava/lang/Void;", "GetDoInBackground_arrayLjava_lang_Object_Handler")]

protected virtual unsafe global::Java.Lang.Object DoInBackground(params global:: Java.Lang.Object[] p0)

我需要将 virtual 更改为 override 但我不知道该怎么做。

我在网上发现一些评论说我应该试试这个:

<attr path="/api/package[@name='com.mapbox.mapboxsdk.tileprovider']/class[@name='MapTileLayerBase.CacheTask']/method[@name='doInBackground']" name="virtual">false</attr>

我试过了,但没用。

你知道怎么改吗?

最佳答案

尝试:

<attr path="/api/package[@name='com.mapbox.mapboxsdk.tileprovider']/class[@name='MapTileLayerBase.CacheTask']/method[@name='doInBackground']" name="managedOverride">override</attr>

如果前面的步骤不起作用,或者更 hacky 的方式:

<attr path="/api/package[@name='com.mapbox.mapboxsdk.tileprovider']/class[@name='MapTileLayerBase.CacheTask']/method[@name='doInBackground']" name="final">true</attr>
<attr path="/api/package[@name='com.mapbox.mapboxsdk.tileprovider']/class[@name='MapTileLayerBase.CacheTask']/method[@name='doInBackground']" name="visibility">protected override</attr>

关于android - 使用 metadata.xml 删除绑定(bind) Xamarin 库中的 "virtual"关键字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31468307/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com