我在Xamarin.iOS 9.1.0.27中使用Xamarin Studio 5.9.8。
我尝试使用此代码段,并且令人惊讶的是方法D根本不执行。
修改将示例代码更改为更详细的示例。
public async Task<bool> TryFinallyTest()
{
try
{
GoToFuture();
bool future = DateTime.Today.Year > 2020;
try
{
if( !future )
return false;
Console.WriteLine("You are in the future!");
}
finally
{
await BackToPresent();
}
}
finally
{
Console.WriteLine("NOT EXECUTED!");
}
return true;
}
private void GoToFuture()
{
Console.WriteLine("Go to future!");
}
private async Task BackToPresent()
{
Console.WriteLine("Back to present");
}
显然,我的真实代码比这更复杂,这只是出于测试目的的简化。
真的D不执行?
编辑我在VisualStudio 2015中测试了此示例并且运行正常。第二个最终正常执行。这个问题只发生在Xamarin.iOS中,我认为这是一个单声道的bug或类似的东西。感谢。