Я пытаюсь создать привязку для 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'.
Разрешены ли перечисления в полях?Как обойти эту ошибку?
Редактировать: я нашел этот параметр, но он не исправляет ошибку:
Редактировать 2: Видимо,список типов, которые могут быть полями весьма ограничен , возможно, мне следует преобразовать тип перечисления в Int32?
NSString
NSArray
nint / int / long
nuint / uint / ulong
nfloat / float
double
CGSize
System.IntPtr
Enums
Редактировать 3: преобразование типа перечисления вInt32 работал, но так ли это?Будет ли код работать правильно и возвращать правильное значение?