使用finally防止一个(阻塞)窗口重复打开

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
private bool _isDialogOpen = false;

private async void OnEditAtt()
{
if (_isDialogOpen)
return; // 防止重复打开

_isDialogOpen = true;

try
{
//await (打开窗口)

}
catch (Exception ex)
{
await ShowAsync($"打开窗口失败: {ex.Message}");
}
finally
{
_isDialogOpen = false; // 窗口关闭后恢复状态
}
}

finally关键字用于定义一个代码块,无论是否发生异常,该代码块都会在try块和任何匹配的catch块之后执行


使用finally防止一个(阻塞)窗口重复打开
https://weihehe.top/2025/08/07/使用finally阻止一个阻塞的窗口重复打开/
作者
weihehe
发布于
2025年8月7日
许可协议