【发布时间】:2016-04-26 16:04:45
【问题描述】:
我的 Xamarin Android Binding 项目(修复了几个重复的方法后)编译正确。
现在我必须使用库中的接口。 在 Java 中我是这样做的:
private PCLIAE87Events btProtListener;
btProtListener = new PCLIAE87Events () {
@Override
public void onLibraryStarted(PCLIAE87 library) {
btProtLibrary = library;
}
};
在 C# 中我该怎么做? 我必须将此接口传递给函数
PCLIAE87.StartLibrary(this, new PCLIAE87Events())
但是作为方法参数传递的接口在 C# 中不起作用。
C#中的Java接口PCLIAE87Events被自动绑定为IPCLIAE87Events(公共接口IPCLIAE87Events:IAbstractPCLEvents,IJavaObject,IDisposable)
我还尝试创建一个实现接口及其方法的类:
class PCLIAE87EventsImplementation : Java.Lang.Object, IPCLIAE87Events
{
public void OnLibraryStarted(Java.Lang.Object p0)
{
throw new NotImplementedException();
}
public void OnPOSConnected()
{
throw new NotImplementedException();
}
public void OnPOSDisconnected()
{
throw new NotImplementedException();
}
}
但我得到了这个错误
PCLIAE87EventsImplementation 不是抽象的,不会覆盖 AbstractPCLEvents 中的抽象方法 onLibraryStarted(PCLIAE87)
我认为与 Xamarin 绑定错误有关,也许有人可以建议我在哪里检查?
谢谢!
【问题讨论】: