C# 需要从按钮单击方法返回一个变量,并在另一个方法中重用它

C# 需要从按钮单击方法返回一个变量,并在另一个方法中重用它,c#,asynchronous,uwp,windows-10,C#,Asynchronous,Uwp,Windows 10,我尝试过使用全局变量,但它将是空的,因为它等待异步方法。另一次等待会导致编码再次发生。在异步方法返回后设置字段: private async void Save_Click(object sender, ContentDialogButtonClickEventArgs e) { ...... } 将全局变量设置为静态可能会有所帮助。全局变量是所有线程、任务等之间的共享内存。但是对于每个对象。不,即使我将其设置为静态,它也不起作用。它说

我尝试过使用全局变量,但它将是空的,因为它等待异步方法。另一次等待会导致编码再次发生。

在异步方法返回后设置字段:

private async void Save_Click(object sender, ContentDialogButtonClickEventArgs e)
        {
            ......

        }

将全局变量设置为静态可能会有所帮助。全局变量是所有线程、任务等之间的共享内存。但是对于每个对象。不,即使我将其设置为静态,它也不起作用。它说我必须在异步方法中使用它。请在等待行之后设置全局变量,以确保变量赋值。您能解释一下如何操作吗?根据stackoverflow中的其他问题,我无法在方法中分配全局变量谢谢Nico,这非常有帮助谢谢你花时间帮助我。我想对你的答案投赞成票,但我的观点不允许我这样做:)@MarcAnt01:我对你的问题投了赞成票。一旦你获得了15的声誉,你将能够获得有用的答案:)
private async void Save_Click(object sender, ContentDialogButtonClickEventArgs e)
        {
            ......

        }
private StorageFile _tempFile;
private async void ToggleButton_Checked(object sender, RoutedEventArgs e)
{

    var temp = await EncodeFileAsync();
    _tempFile = temp;
  
    ......         
}

private async void Save_Click(object sender, ContentDialogButtonClickEventArgs e)
{
    if (_tempFile != null)
        ...
}