Неподдерживаемый тип для полей (перечисление) - PullRequest
0 голосов
/ 05 октября 2018

Я пытаюсь создать привязку для iOS Framework для Xamarin (генерируется объективным шулером), и он сталкивается с типом поля:

Structs.cs:

public enum FooType : byte
{
    A = 0,
    B = 1
}

ApiDefinition.cs:

[Static]
partial interface Constants
{
    // extern const FooType Foo;
    [Field("Foo", "__Internal")]
    FooType Foo { get; }
}

Генерирует ошибку:

Ошибка BI1014: bgen: неподдерживаемый тип для полей: FooType для 'Namespace.Constants Foo'.

Разрешены ли перечисления в полях?Как обойти эту ошибку?

Редактировать: я нашел этот параметр, но он не исправляет ошибку: Screenshot of setting

Редактировать 2: Видимо,список типов, которые могут быть полями весьма ограничен , возможно, мне следует преобразовать тип перечисления в Int32?

NSString
NSArray
nint / int / long
nuint / uint / ulong
nfloat / float
double
CGSize
System.IntPtr
Enums

Редактировать 3: преобразование типа перечисления вInt32 работал, но так ли это?Будет ли код работать правильно и возвращать правильное значение?

...