Xamarin Android:使用同步读取本地存储(PCLStorage)文件

时间:2018-05-25 03:29:11

标签: c# asynchronous xamarin.android

我可以使用以下代码读取本地存储文件:

public static async Task<string> GetUserName()
        {
            string value = String.Empty;
            IFolder rootFolder = FileSystem.Current.LocalStorage;

            // Read file
            ExistenceCheckResult exist = await rootFolder.CheckExistsAsync(FILE_NAME);
            if (exist == ExistenceCheckResult.FileExists)
            {
                IFile file = await rootFolder.GetFileAsync("myusername.txt");
                value = await file.ReadAllTextAsync();                
            }

            return value;
        }

我将此功能称为如下:

Line1: Task<String> userName = GetUserName();
Line2: // Doing some task.

在执行Line2之前,我需要来自Line1的userName。但由于异步操作,Line2开始执行而不从Line1获取userName。

那么在Line1中获取userName后如何执行Line2?

1 个答案:

答案 0 :(得分:2)

您需要在调用GetUsername()方法时等待,

{{1}}

因此,它会在Line2执行之前等待用户名。