C#包装器Java库生成奇怪的代码
我这里有C#包装器Java库生成奇怪的代码,c#,xamarin.android,heremaps-android-sdk,C#,Xamarin.android,Heremaps Android Sdk,我这里有用Java为Android编写的库,我已经将它打包到CAndroid库中 在Java中有以下代码: @functioninterface 公共接口LoadSceneCallback{ void onLoadScene(@Nullable maperor var1); } Java中用作匿名类的代码: mapView.getMapScene().loadScene(MapScheme.NORMAL_DAY,new MapScene.LoadSceneCallback()){ ... }
用Java
为Android
编写的库,我已经将它打包到C
Android
库中
在Java
中有以下代码:
@functioninterface
公共接口LoadSceneCallback{
void onLoadScene(@Nullable maperor var1);
}
Java
中用作匿名类的代码:
mapView.getMapScene().loadScene(MapScheme.NORMAL_DAY,new MapScene.LoadSceneCallback()){
...
}
C#
wrapper生成以下代码:
//Metadata.xml XPath接口参考:path=“/api/package[@name='com.here.sdk.mapview']/interface[@name='mapsecene.LoadSceneCallback']”
[注册(“com/here/sdk/mapview/MapScene$LoadSceneCallback”、“com.here.sdk.mapview.MapScene/ILoadSceneCallbackInvoker”)]
公共部分接口ILOAdscenCallback:IJavaObject,IJavaPeerable{
//Metadata.xml XPath方法引用:path=“/api/package[@name='com.here.sdk.mapview']/interface[@name='mapsecene.LoadSceneCallback']/method[@name='onLoadScene'和count(parameter)=1和parameter[1][@type='com.here.sdk.mapview.maperor']]
[注册(“onLoadScene”,“Lcom/here/sdk/mapview/MapError;)V”,“GetOnLoadScene\u Lcom\u here\u sdk\u mapview\u MapError\u处理程序:Com.here.sdk.mapview.MapScene/ILOAdscenCallbackInvoker,HereApi.Android”)]
void OnLoadScene(全局::Com.Here.Sdk.Mapview.MapError p0);
}
实际上我不知道如何使用它…当我从它继承时,我不仅要实现void onload场景(@Nullable maperor var1)
,还要实现Java
方法的音调…:(
有人遇到过同样的问题吗?如何使用这些生成的代码我通过继承实现大多数样板代码的Java.Lang.Object
解决了这个问题
还要特别感谢@juharr的支持!!是否有一个JavaObject
可以继承以获得大部分实现?@juharr在Java中只使用了匿名类,但在C端应该做什么?我的意思是它是否包括一个名为JavaObject
的C类,它实现了Java中的大部分内容IJavaObject
JavaObject
没有帮助,因为它需要实现HandlePtr
…相反,我使用了Java.Lang.Object
,它解决了我的问题