我尝试查找有关Xamarin的DriveFile.Open的文档,但仍找不到从以下代码转换return语句的类

var pendingResult = driveFile.Open(.. , .., ..)
var obj = pendingResult.await();


在Android Documentation上,要强制转换为的类是

DriveContents driveContents = driveContentsResult.getDriveContents();


但是我找不到名为DriveContentsResult的类。

最佳答案

非异步方式(使用OnResult回调)

driveFile.Open(_googleApiClient, DriveFile.ModeReadOnly, null).SetResultCallback(this);


将调用onResult,然后可以在其中强制转换结果:

void IResultCallback.OnResult(Java.Lang.Object result)
{
    var contentResults = (result).JavaCast<IDriveApiDriveContentsResult>();
    var driveContent = contentResults.DriveContents;
    D.WriteLine(driveContent.DriveId);

}


异步方式:

var driveContentResult = driveFile.OpenAsync(_googleApiClient, DriveFile.ModeReadOnly, null).ContinueWith((resultTask) =>
{
    var driveContentResults = resultTask.Result;
    var driveContent = driveContentResults.DriveContents;
    D.WriteLine(driveContent.DriveId);
});

关于android - Xamarin:不确定使用DriveFile.Open进行强制转换,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37498198/

10-10 04:50