0

我正在使用 Zxing.Mobile 扫描我的 monodroid 应用程序中的条形码。我正在使用 Xamarin。根据他们的文档,以下代码行应该可以工作:

 var scanner = new ZXing.Mobile.MobileBarcodeScanner();
 scanner.Scan().ContinueWith(t => {   
     if (t.Result != null)
        Console.WriteLine("Scanned Barcode: " + t.Result.Text);
     });

但我收到以下错误:

 The type 'Zxing.Mobile.MobileBarcodeScanner()' does not contain a constructor that takes '0' arguments

知道为什么我会收到此错误,我该如何摆脱它?提前致谢。

4

3 回答 3

2

你需要提供Context,如上所述,他只是没有将上下文放入构造函数中。呵呵。从而造成混乱。

var scanner = new ZXing.Mobile.MobileBarcodeScanner(this.Context);
    scanner.Scan().ContinueWith(t => {   
           if (t.Result != null)
            Console.WriteLine("Scanned Barcode: " + t.Result.Text);
    });`
于 2013-08-19T20:15:30.917 回答
1

这对我有用

  async void HandleBarcodeButtonClick(object sender, EventArgs e)
    {
        var scanner = new ZXing.Mobile.MobileBarcodeScanner(this);
        string barcode = string.Empty;
        await scanner.Scan().ContinueWith(t =>
        {
            if (t.Result != null)
                barcode = t.Result.Text;
        });           
    }
于 2013-10-11T06:13:55.787 回答
0

构造函数需要的不仅仅是0参数。从这里

//NOTE: On Android you MUST pass a Context into the Constructor!
var scanner = new ZXing.Mobile.MobileBarcodeScanner();
    scanner.Scan().ContinueWith(t => {   
           if (t.Result != null)
            Console.WriteLine("Scanned Barcode: " + t.Result.Text);
    });
于 2013-08-19T09:40:51.460 回答