0

我一直在为第三方 Android JAR 编写一个 Xamaring 绑定库,并且对如何将类中的 int 字段转换为枚举感到困惑。

我已经使用 EnumFields.xml 为 int 字段创建了一个 C# 枚举,并且还成功地从使用 EnumMethods.xml 的方法中返回,但是在一个地方返回了一个类,它公开了一个应该是我的枚举的 int 字段。

我试过了:

<method jni-name="error" parameter="return" clr-enum-type=....

在 EnumMethods 但无法让它工作,然后我尝试了

<attr path=".......[@name='Result']/field[@name='error']"
    name="managedType">

在 Metadata.xml 中,但也无法将其映射。我可以更改其属性名称,但不能更改其返回类型。

在 JavaDoc 中,它说明了以下内容:

公共最终 int 错误

在我生成的 C# 中,我得到:

// Metadata.xml XPath field reference: path="/api/package[@name='cn.com.aratek.util']/class[@name='Result']/field[@name='error']"

我错过了什么明显的东西吗?

4

1 回答 1

0

一年后,我在再次遇到同样的问题后偶然发现了自己的帖子。作为参考,我的错误是试图managedType用作名称。您只需使用type.

例如在 metadata.xml 中

<attr path=".......[@name='Result']/field[@name='error']" name="type">NewEnumName</attr>

我用来帮助解决这个问题的参考资料:

于 2020-03-05T11:40:13.793 回答