gpt4 book ai didi

xamarin - Monodroid java库绑定(bind): How to set all constructors public

转载 作者:太空宇宙 更新时间:2023-11-04 14:43:13 25 4
gpt4 key购买 nike

我正在尝试将 java 库绑定(bind)到我的 monodroid 项目中。我正在使用 Amazon Mobile Associates 库,并且我正在尝试执行此操作:

AssociatesAPI.Initialize(new AssociatesAPI.Config(APPLICATION_KEY, this));

不幸的是,即使这个 AssociatesAPI.Config(string, context) 构造函数是公共(public)的,它也使用第二个构造函数:

public Config (string p0, Context p1) : base (IntPtr.Zero, JniHandleOwnership.DoNotTransfer)

和构造函数

protected Config (IntPtr javaReference, JniHandleOwnership transfer) : base (javaReference, transfer)

protected 。

当我使用Metadata.xml时,我可以将类构造函数设置为公共(public):

< attr path="/api/package[@name='com.amazon.device.associates']/class[@name='AssociatesAPI.Config']/constructor" name="visibility">public< /attr>

但这仅设置了这个构造函数,而 protected 构造函数仍然受到保护。因此,当我在应用程序中使用此库时,我收到错误:

Error CS1540: Cannot access protected member   `Com.Amazon.Device.Associates.AssociatesAPI.Config.Config(System.IntPtr,     Android.Runtime.JniHandleOwnership)' via a qualifier of type     `Com.Amazon.Device.Associates.AssociatesAPI.Config'. 

The qualifier must be of type `Mews.Client.Navigator.TabletAndroid.Activities.Services.ServiceDetailActivity' (<i>this is my activity I'm passing as a Context</i>) or derived from it (CS1540)

Error CS0122: `Com.Amazon.Device.Associates.AssociatesAPI.Config.Config(System.IntPtr, Android.Runtime.JniHandleOwnership)' is inaccessible due to its protection level (CS0122) (Mews.Client.Navigator.TabletAndroid)

此外,当我编译库项目时,没有关于未找到节点或错误 xpath 的错误或警告,这些错误或警告通常在 attr 中指定错误路径或类名时出现。

有人可以帮助我吗?

谢谢

最佳答案

在 Transforms/Metadata.xml 中添加类似的内容:

<attr path="/api/package[@name='Name_of_the_package']/class[@name='myclass']/method[@name='methodname']" name="visibility"> public</attr>

关于xamarin - Monodroid java库绑定(bind): How to set all constructors public,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24727123/

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