C# wrapper Java 库生成奇怪的代码
C# wrapper Java library generates strange code
我在 Java
中为 Android
编写了 Here
库,我已将其包装到 C#
Android
库
在Java
中有以下代码:
@FunctionalInterface
public interface LoadSceneCallback {
void onLoadScene(@Nullable MapError var1);
}
Java
中的代码用作匿名 class:
mapView.getMapScene().loadScene(MapScheme.NORMAL_DAY, new MapScene.LoadSceneCallback() {
...
}
C#
包装器生成以下代码:
// Metadata.xml XPath interface reference: path="/api/package[@name='com.here.sdk.mapview']/interface[@name='MapScene.LoadSceneCallback']"
[Register ("com/here/sdk/mapview/MapScene$LoadSceneCallback", "", "Com.Here.Sdk.Mapview.MapScene/ILoadSceneCallbackInvoker")]
public partial interface ILoadSceneCallback : IJavaObject, IJavaPeerable {
// Metadata.xml XPath method reference: path="/api/package[@name='com.here.sdk.mapview']/interface[@name='MapScene.LoadSceneCallback']/method[@name='onLoadScene' and count(parameter)=1 and parameter[1][@type='com.here.sdk.mapview.MapError']]"
[Register ("onLoadScene", "(Lcom/here/sdk/mapview/MapError;)V", "GetOnLoadScene_Lcom_here_sdk_mapview_MapError_Handler:Com.Here.Sdk.Mapview.MapScene/ILoadSceneCallbackInvoker, HereApi.Android")]
void OnLoadScene (global::Com.Here.Sdk.Mapview.MapError p0);
}
实际上我不知道如何使用它...当我从它继承时,我不仅要实现 void onLoadScene(@Nullable MapError var1)
,还要实现 Java
方法的音调... :(
有人遇到过同样的问题吗?如何使用这样生成的代码
我已经通过继承 Java.Lang.Object
来解决这个问题,它实现了大部分样板代码
也特别感谢@juharr 的支持!!
我在 Java
中为 Android
编写了 Here
库,我已将其包装到 C#
Android
库
在Java
中有以下代码:
@FunctionalInterface
public interface LoadSceneCallback {
void onLoadScene(@Nullable MapError var1);
}
Java
中的代码用作匿名 class:
mapView.getMapScene().loadScene(MapScheme.NORMAL_DAY, new MapScene.LoadSceneCallback() {
...
}
C#
包装器生成以下代码:
// Metadata.xml XPath interface reference: path="/api/package[@name='com.here.sdk.mapview']/interface[@name='MapScene.LoadSceneCallback']"
[Register ("com/here/sdk/mapview/MapScene$LoadSceneCallback", "", "Com.Here.Sdk.Mapview.MapScene/ILoadSceneCallbackInvoker")]
public partial interface ILoadSceneCallback : IJavaObject, IJavaPeerable {
// Metadata.xml XPath method reference: path="/api/package[@name='com.here.sdk.mapview']/interface[@name='MapScene.LoadSceneCallback']/method[@name='onLoadScene' and count(parameter)=1 and parameter[1][@type='com.here.sdk.mapview.MapError']]"
[Register ("onLoadScene", "(Lcom/here/sdk/mapview/MapError;)V", "GetOnLoadScene_Lcom_here_sdk_mapview_MapError_Handler:Com.Here.Sdk.Mapview.MapScene/ILoadSceneCallbackInvoker, HereApi.Android")]
void OnLoadScene (global::Com.Here.Sdk.Mapview.MapError p0);
}
实际上我不知道如何使用它...当我从它继承时,我不仅要实现 void onLoadScene(@Nullable MapError var1)
,还要实现 Java
方法的音调... :(
有人遇到过同样的问题吗?如何使用这样生成的代码
我已经通过继承 Java.Lang.Object
来解决这个问题,它实现了大部分样板代码
也特别感谢@juharr 的支持!!