我想在我的代码中使用 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()
所有异步方法之后。
任何人都可以指导我如何构建我的代码。