xamarin android bindings изменяет окончательное int поле класса на перечисление c # - PullRequest
0 голосов
/ 10 марта 2019

Я писал библиотеку привязок Xamaring для стороннего JAR-файла Android и был озадачен тем, как преобразовать поле int в классе в перечисление.

Я создал перечисление C # для полей int с помощью EnumFields.xml и также получил этот успешный возврат из методов, использующих EnumMethods.xml, но в одном месте вместо этого возвращается класс, который предоставляет поле int, которое должно быть моим ENUM.

Я пробовал:

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

В EnumMethods, но не смог заставить его работать, я тогда попробовал

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

В Metadata.xml, но также не удалось получить его на карту. Я могу изменить имя свойства, но не тип возвращаемого значения.

В JavaDoc написано следующее:

public final int error

И в моем сгенерированном C # я получаю:

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

Я что-то упустил очевидное?

...