【问题标题】:Assign Tuple that inside Task [closed]分配任务内部的元组[关闭]
【发布时间】:2021-01-21 08:11:41
【问题描述】:

我在 C# 中有返回的函数 Task<Tuple<bool, string, Passport>>
签名是:
public async Task<Tuple<bool, string, Passport>> MyFunc(Stream FileData, string fileName)
我需要在 vb 函数中调用这个函数,所以我这样声明返回值:
Dim result As Task(Of Tuple(Of Boolean, String, Passport))
我没有找到如何像这样分配值的语法(里面有元组的任务)


我怎样才能初始化这个值?

【问题讨论】:

  • 显示实际代码,这可能很容易解决
  • 您的方法是异步的,是否等待您调用该方法?

标签: c# vb.net tuples task


【解决方案1】:

您通常会像这样调用具有该签名的方法:

Dim result = Await MyFunc(someStream, someString)

result 变量将是 Tuple(Of Boolean, Stri8ng, Passport) 类型。该方法返回Task,而Await 运算符等待Task 的完成并返回其结果。

【讨论】:

    【解决方案2】:

    谢谢,我解决了:

    1. 我在vb函数签名中添加了工作Async
    2. 像这样初始化元组: Dim result As Tuple(Of Boolean, String, Passport) = New Tuple(Of Boolean, String, Passport)(False, "", New Passport)
    3. 我在调用 C# 函数时添加了Await

    【讨论】:

    • 您为什么需要自己创建一个Tuple?你说你想调用方法,所以Tuple在方法内部被创建并返回给你。
    • 我必须初始化元组,如果我不这样做,我会收到警告错误:“变量'结果'在被赋值之前被使用。空引用异常可能在运行时导致"
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多