最后块没有返回执行并等待C#

时间:2015-11-09 17:23:28

标签: c# xamarin xamarin.ios c#-6.0

我在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或类似的东西。感谢。

0 个答案:

没有答案