我想在我的代码中使用Await和Async操作以良好的方式构建我的代码。这就是我想要做的事情:
public myMainFunction()
{
var stream = App.GetResourceStream(new Uri("Assets/Tiles/gradiant-mask.png", UriKind.Relative));
byte[] byteStream = new byte[stream.Stream.Length];
stream.Stream.Read(byteStream, 0, byteStream.Length);
Task tsk = getBlurredbitmap1(session, blurBuffer);
tsk.ContinueWith((myTask) =>
{
FACTORY.imageFusion(blurBuffer, byteStream.AsBuffer()):
});
}
在main函数中我不能使用await操作,因为我重写了这个函数,所以签名必须匹配。
private async Task GetBlurredImageBitmapAsync(EditingSession session, byte[] blurBuffer)
{
WriteableBitmap wBitmap = new WriteableBitmap((int)session.Dimensions.Width, (int) session.Dimensions.Height);
await session.RenderToWriteableBitmapAsync(wBitmap);
session.Undo();
blurBuffer = new byte[wBitmap.Pixels.AsBuffer().Length];
wBitmap.Pixels.AsBuffer().CopyTo(blurBuffer);
}
private async Task getBlurredbitmap1(EditingSession session, byte[] blurBuffer)
{
await GetBlurredImageBitmapAsync(session, blurBuffer);
}
我想要的是执行此代码
Task tsk = getBlurredbitmap1(session,blurBuffer);
tsk.ContinueWith((myTask) =>
{
FACTORY.imageFusion(blurBuffer, byteStream.AsBuffer()):
});
在所有异步方法之后的myMainFunction()
中。
任何人都可以指导我如何构建我的代码。