this answerを使用してXamarinにプラットフォーム固有のコードを実装しようとしていますが、プラットフォーム固有のクラスを依存関係に設定する際に問題が発生しました。私は、次のコンパイラエラーを取得し、タグのassembly
単語を強調した:[assembly:Dependency()]をクラスの上に置くことができないのはなぜですか?
アセンブリ、モジュールの属性が句とのexternエイリアス宣言を使用したことを除いて、ファイルに定義されている他のすべての要素を先行しなければなりません。
私は、次のコードは、している:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Reflection;
using System.Security.Permissions;
using Android.App;
using Android.Content;
using Android.OS;
using Android.Runtime;
using Android.Views;
using Android.Widget;
using ZXing.Net.Mobile.Forms;
using Xamarin.Forms;
namespace MyApp_Xamarin.Droid {
[assembly: Dependency(typeof(View.ActualPage.BarcodeScannerTest))]
public class BarcodeScannerTestClass : View.ActualPage.BarcodeScannerTest
{
public async void Start(INavigation nav, Page page)
{
var scanPage = new ZXingScannerPage();
scanPage.OnScanResult += (result) =>
{
// Stop scanning
scanPage.IsScanning = false;
// Pop the page and show the result
Device.BeginInvokeOnMainThread(() =>
{
nav.PopAsync();
page.DisplayAlert("Scanned Barcode", result.Text, "OK");
});
};
// Navigate to our scanner page
await nav.PushAsync(scanPage);
}
}
}
私は何をしないのですか?
あなたが私たちに示したコードの上に何かが現れていますか?少なくとも私は、宣言を使用していることを期待しています。 –
このスニペットは名前空間宣言の中にありますか?アセンブリ属性は、その外側に適用する必要があります。 –
私は 'namespace'と' using'宣言をコードから追加しました。 – Exec