使用 Xamarin 和 Java 绑定项目时,生成的绑定项目自然遵循 java 编码风格。即期望使用匿名类(实现简单的回调接口)作为参数。下面是一个java代码示例:
// Field
private Player mPlayer;
SDKClass.staticMethod(oneObject, anotherObject, new InitializationObserver() {
@Override
public void onInitialized(SomeClass someClass) {
// Calls mPlayer
}
@Override
public void OnError (Java.Lang.Throwable Error)
{
Console.WriteLine("Error in initialization: " + Error.Message);
}
}
生成的 C# 代码也期望 anInitializationObserver
作为第三个参数。但是,由于 SDK 已关闭并且我无法更改实现,因此我可以做到这一点的唯一方法是在内部类中实现接口及其“覆盖”方法。这对我来说似乎很不切实际。
在java中,我可以从匿名类(例如字段mPlayer)访问非静态成员,但是afaik这在C#中是不可能的。
在 Xamarin 中创建 Java 绑定项目时是否有另一种方法允许这样做?有没有更好的方法来处理生成的类?
谢谢你帮忙。弗雷德