当前位置: 首页 > 知识库问答 >
问题:

如何从系统返回。穿线。任务方法

傅茂实
2023-03-14

我有一个具有以下签名的方法。

Task<string> Post(PartyVM model);

我正在编写一个单元测试类,使用下面的方法来测试上面的Post方法。

        mockPartyManager.Setup(mr => mr.Post(It.IsAny<PartyVM>())).Returns(
           (PartyVM target) =>
           {
               if (target.PartyID.Equals(default(int)))
               {
                   target.Name = "NewP";
                   target.Status = "ACTIVE";
                   target.PartyRoleID = msoList.Count() + 1;
                   partyList.Add(target);
               }
               else
               {
                   var original = partyList.Where(q => q.PartyID == target.PartyID).Single();

                   if (original == null)
                   {
                       return "Execution failed";
                   }

                   original.Name = target.Name;
                   original.Status = target.Status;
               }

               return "Execution Successful";
           });
        this.MockMSOManager = mockPartyManager.Object;
    }

当我试图返回字符串时,我会收到错误消息。

错误45无法将类型“string”隐式转换为“System”。穿线。任务。任务'

我如何解决这个问题。

共有2个答案

谭昱
2023-03-14

方法返回的是任务,而不是字符串。使用任务。FromResult以更正错误。

https://msdn.microsoft.com/es-es/library/hh194922(v=vs.110)。aspx

孙书
2023-03-14

尝试使用任务。FromResult

创建以指定结果成功完成的任务。

return Task.FromResult("Execution failed");

 类似资料:
  • 我想创建一个任务来运行串行命令。此时,我不需要从正在进行工作的方法返回任何内容。这可能会在以后发生变化,但我现在很好奇这是如何发生的。 这就是我所拥有的。我想为任务使用单独的方法,而不是创建匿名操作。我尝试返回void,结果是“void不能显式转换为任务”。我也试过了<代码>任务 在此过程中,我使用了一个线程来完成这项任务,但这次我想使用任务。 预计到达时间: 最后,这是我的完整解决方案

  • 我一直在使用异步任务来访问web服务器,并使用结果更新控件。这有缺点,即它使异步方法特定于控件,并阻止我再次使用返回的字符串。 我的典型asyncTask代码如下

  • 问题内容: 使用Python,如何以通用方式返回诸如CPU使用率,内存使用率(空闲,已使用等),进程计数等信息,以便可以在Linux,Windows,BSD等上运行相同的代码? 或者,如何仅在该操作系统确实是操作环境的情况下,在运行上述操作系统的代码的情况下,在上述所有系统上返回该信息? 问题答案: 关于跨平台:最好的选择是编写平台特定的代码,然后有条件地将其导入。例如 Anthony指出,对于特

  • 问题内容: 我做了这样的一个波纹管: 但是当我尝试通过getTemp使用temp时我得到0 我只想使用我在线程中所做的计算将其存储在某些变量中以备后用。 问题答案: 或者简单地添加 等待线程完成,然后再获得结果。 您的问题是您试图在计算结果之前获得结果。您应该等待线程完成后才能获得结果。这个答案也许不是最好的,但是是最简单的。由于其他人已经在使用Executors课程,所以我不想重复他们的答案。但

  • 在过去的几个月里,我一直在阅读C#中的异步等待以及如何正确使用它。 出于实验室练习的目的,我正在构建一个小型Tcp服务器,它应该为连接到它的客户端提供服务。该程序是一个控制台应用程序。 我使用while循环等待连接,如下所示: 所以,到目前为止,我所做的方法ProcessClientAsync被标记为异步无效,我只称之为ProcessClientAsync(客户端),调用将立即返回给调用方。然而,

  • 我正在创建一个Android应用程序,它使用BLE与MCU进行通信,目前我可以使用我的应用程序与MCU建立连接,但当我试图发现并获取设备的服务时,我返回了一个空数组,并且不确定原因。 输出: 09-26 16:33:09.648 10917-10931/bamboomobile.medheadI/TAG:连接到GATT服务器。 09-26 16:33:09.648 10917-10931/bamb