gpt4 book ai didi

c# - Android和iOS不异步时如何处理UWP异步?

转载 作者:太空宇宙 更新时间:2023-11-03 12:26:35 25 4
gpt4 key购买 nike

我的 Xamarin.Forms 应用程序有多个接口(interface)(用于 Dependency),具有针对 Android 和 iOS 的实现。它们中的方法不是异步的。现在我想为 UWP 添加这些接口(interface)的实现,但是一些所需的方法是异步的,因此它们不符合签名。我该如何处理?为 UWP 创建单独的界面是唯一的解决方案吗?

最佳答案

在这些场景中,我倾向于将 Task.FromResult 方法用于非异步实现。示例:您在 Windows 上有一个返回 bool 类型任务的方法,并且您希望在 Android 和 iOS 上为返回 bool 的方法实现相同的功能。

public interface ISample
{
public Task<bool> GetABool();
}

在 Windows 上,您只需返回任务

public class WindowsSample : ISample
{
public Task<bool> GetABool()
{
// whatever implementation
return SomeTaskOfTypeBool();
}
}

在 Android 或 iOS 上,您会将值包装在任务中

public class AndroidSample : ISample
{
public Task<bool> GetABool()
{
// replace with however you get the value.
var ret = true;
return Task.FromResult(ret);
}
}

关于c# - Android和iOS不异步时如何处理UWP异步?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44614386/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com