使用 MonoDroid 创建 Java 绑定时,它将包含下划线的 Java 常量名称转换为 C# 驼峰式名称:
[Register ("SOME_CONSTANT_NAME")] public const int SomeConstantName = (int) 3;
我知道这是 .NET 中的“通用”命名约定,但我想保留原始名称。
是否可以控制命名转换,即。全局关闭驼峰转换?
使用 MonoDroid 创建 Java 绑定时,它将包含下划线的 Java 常量名称转换为 C# 驼峰式名称:
[Register ("SOME_CONSTANT_NAME")] public const int SomeConstantName = (int) 3;
我知道这是 .NET 中的“通用”命名约定,但我想保留原始名称。
是否可以控制命名转换,即。全局关闭驼峰转换?
Xamarin.Android(以前称为 MonoDroid)允许您使用元数据转换控制生成的 C# 绑定的各个方面。相关文档在这里:
具体来说,该EnumFields.xml
文件控制基于 java int 常量生成枚举时使用的转换。例子:
<type enum-type="Some\Package\MyClassEnumType" java-class="some/package/MyClass$MyConstants">
<member enum="CONSTANT_ONE" java="CONSTANT_ONE" value="1" />
<member enum="CONSTANT_ZERO" java="CONSTANT_ZERO" value="0" />
</type>