C#クラスに非同期メソッドがあります
namespace ImageHolder
{
public sealed class BlankFilter
public async Task<InMemoryRandomAccessStream> applyFilter()
{
inputStream = await file.OpenAsync(Windows.Storage.FileAccessMode.ReadWrite);
decoder = await Windows.Graphics.Imaging.BitmapDecoder.CreateAsync(inputStream);
/* more code */
}
}
WinJSクラスからこの関数を次のように呼び出しています
filter.applyFilter().then(function (memStream) {
var msStream = MSApp.createStreamFromInputStream("image/jpeg", memStream);
var imageURL = URL.createObjectURL(msSteam);
id("imageInput").src = imageURL;
});
ただし、これは機能せず、VisualStudioはリターンタイプをIAsyncActionに変更する必要があると文句を言います。それをすることも助けにはなりません。
では、WinJSコードから待機しているC#関数を呼び出す正しい方法は何ですか?