从xamarin java绑定中删除虚拟关键字

时间:2016-02-27 06:03:58

标签: java c# xamarin xamarin.android

目前我正在尝试使用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 但这不起作用。

2 个答案:

答案 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关键字。奇怪的行为,但它的确有效。