1

我正在尝试为 Xamarin 的 iOS 框架(由 Objective Sharpie 生成)创建绑定,但它在字段类型上遇到了问题:

结构体.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:字段类型不受支持:'Namespace.Constants Foo' 的 FooType。

字段中不允许使用枚举吗?我该如何解决这个错误?

编辑:我找到了这个设置,但它没有修复错误: 设置截图

编辑2:显然可以是字段的类型列表非常有限,也许我应该将枚举类型转换为Int32?

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

编辑 3:将枚举类型转换为 Int32 有效,但这有效吗?代码会正确运行并返回有效值吗?

4

0 回答 0