我有一个 Java 库,我想在 Xamarin 中绑定到它。该库包含一个具有多个属性的枚举,定义如下:
public enum WriteType {
WITH_RESPONSE(WRITE_TYPE_DEFAULT, PROPERTY_WRITE),
WITHOUT_RESPONSE(WRITE_TYPE_NO_RESPONSE, PROPERTY_WRITE_NO_RESPONSE),
SIGNED(WRITE_TYPE_SIGNED, PROPERTY_SIGNED_WRITE);
public final int writeType;
public final int property;
WriteType(final int writeType, final int property) {
this.writeType = writeType;
this.property = property;
}
}
编译时,Visual Studio 生成枚举作为类,但 WriteByte 构造函数具有“int”返回类型(即被视为函数)。它会产生错误:
“CS0542 'WriteType':成员名称不能与其封闭类型相同”
如何正确绑定到具有多个属性的枚举?
事实证明,Visual Studio 在绑定时将成员名称的第一个字符更改为大写。这显然与枚举名称本身冲突。
我更改了会员名称,现在绑定成功(没有错误)。