目前我正在尝试使用Xamarin Java Binding项目将jar文件转换为dll。
这是java代码
public int compareTo(java.lang.object paramPGAbsEffect)
成为
public virtual unsafe int CompareTo (object p0)
在我的c#代码中。
我想删除虚拟关键字,因为它不存在于Java文件中。
我试过了
... /method[@name='compareTo']" name="virtual">false
但这不起作用。
答案 0 :(得分:1)
除非您使用final关键字,否则默认情况下所有Java函数都是虚函数。因此,该工具只是完成其工作,您应该了解有关Java和C#的更多信息。
答案 1 :(得分:0)
解决方案是在final
映射中将true
设置为Metadata.xml
:
<attr
path="/api/package[@name='your.package.here']/class[@name='YourClass.InnerClass']/method[@name='methodName']"
name="final">true</attr>
这有效地从方法签名中删除了virtual
关键字,并且也没有添加final
关键字。奇怪的行为,但它的确有效。