我正在尝试为Xamarin的iOS框架(由客观敏锐的生成)创建一个绑定,并且在字段类型上遇到了麻烦:
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:字段不受支持的类型:“命名空间。常量Foo”的FooType。
字段中不允许使用枚举吗?如何解决此错误?
编辑2:显然,可以作为字段的类型列表为quite limited,也许我应该将枚举类型转换为Int32?
NSString NSArray nint / int / long nuint / uint / ulong nfloat / float double CGSize System.IntPtr Enums
编辑3:将枚举类型转换为Int32可行,但这有效吗?代码会正确运行并返回有效值吗?