小编Muh*_*dor的帖子

如何实现异步命令

虽然我已经理解了用c#进行异步编程,但仍然不明白为什么异步使用void并不是更好的解决方案,那么当我想改进我的Xamarin Forms代码时,我发现很多MVVM框架使用AsyncCommand来避免使用异步"与事件不同" "如下:

    public class AsyncCommand : Command
    {
        public AsyncCommand(Func<Task> execute) : base(() => execute())
        { }
        public AsyncCommand(Func<object, Task> execute) : base((arg) => execute(arg))
        { }
    }


Run Code Online (Sandbox Code Playgroud)

但我不知道为什么异步如果命令本身不是异步的,那么使用带动作的异步命令并运行这样的任务:

    public class AsyncCommand : Command
    {
        public AsyncCommand(Action execute) : this(() => Task.Run(execute))
        { }
        public AsyncCommand(Action<object> execute) : this((arg) => Task.Run(() => execute(arg)))
        { }
    }
Run Code Online (Sandbox Code Playgroud)

提前致谢

c# wpf xamarin xamarin.forms

7
推荐指数
2
解决办法
2460
查看次数

当referenace android项目到ui测试项目Xamarin时出错

我有一个入侵者的问题.我已经用monoandroid 8.1和.net标准2.0创建了一个xamarin表单解决方案,一切都很顺利,但是一旦我添加了UI测试项目并添加了android项目作为参考,我看到了4个错误,当我构建它时,构建成功但是错误是仍然可见.

当我在应用程序中心构建它时它失败并向我显示这4个错误: 错误列表

从应用程序中心登录

2018-06-11T10:26:21.6746020Z NU1201:Project UserLogin.Android与net471不兼容(.NETFramework,Version = v4.7.1).Project UserLogin.Android支持:monoandroid81(MonoAndroid,Version = v8.1)

automated-tests xamarin.android xamarin xamarin.forms

5
推荐指数
1
解决办法
253
查看次数