我是 Xamarin Android 的初学者,我必须测试手机 Honeywell Dolphin CT 50 的扫描仪。
我的项目编译得很好,我已经很好地添加了 Honey 中的 jar 库,但我现在的问题是一些 Java 代码。
我无法将其翻译成 C#!
这是代码:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// create the AidcManager providing a Context and a
// CreatedCallback implementation.
AidcManager.create(this, new CreatedCallback() {
@Override
public void onCreated(AidcManager aidcManager) {
manager = aidcManager;
barcodeReader = manager.createBarcodeReader();
}
});
ActivitySetting();
}
我的问题是翻译该方法的第二个参数:
AidcManager.create => new CreatedCallback() ?
如何将其转换为 C#?
最佳答案
您可以使用 lambda,但是一旦您有多个方法需要重写,它就会崩溃。单独的类是处理一般情况的方法:
public virtual void onCreate(Bundle savedInstanceState)
{
base.onCreate(savedInstanceState);
ContentView = R.layout.activity_main;
// create the AidcManager providing a Context and a
// CreatedCallback implementation.
AidcManager.create(this, new CreatedCallbackAnonymousInnerClassHelper());
ActivitySetting();
}
private class CreatedCallbackAnonymousInnerClassHelper : CreatedCallback
{
public override void onCreated(AidcManager aidcManager)
{
manager = aidcManager;
barcodeReader = manager.createBarcodeReader();
}
}
关于java - 将 Java 匿名回调类转换为 C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37680256/