Vb.net 如何访问等待对象中的属性和多个值?

Vb.net 如何访问等待对象中的属性和多个值?,vb.net,Vb.net,我有一个类,它包含一些属性,我需要访问另一个文件中的值 Public Class ReturnValues Public Property result As String Public Property resultBank As String Public Property resultAddressMatch As String End Class 我调用我的异步函数,并创建我的对象的一个新实例 Dim results As ReturnValues = New

我有一个类,它包含一些属性,我需要访问另一个文件中的值

Public Class ReturnValues
    Public Property result As String
    Public Property resultBank As String
    Public Property resultAddressMatch As String
End Class
我调用我的异步函数,并创建我的对象的一个新实例

Dim results As ReturnValues = New ReturnValues()

Public Shared Async Function x(ByVal sUserID As String) As Threading.Tasks.Task(Of Object)
它继续进行并调用外部api,我得到结果并将其存储为对象

results.result = data.data.attributes.result
results.resultBank = data.data.attributes.bank_account_match
results.resultAddressMatch = data.data.attributes.name_and_address_match

Return results
在我的另一个文件中,我等待结果。调试时,我可以看到等待的结果包含result属性,该属性包含我需要访问的三段数据

Await result
我不太清楚我会从这里走到哪里,因为我不能确定。在结果和访问任何相关内容之后

我确实尝试过将它显式地转换为一个列表,并以这种方式访问它们,但没有这样的运气

            Dim list = CType(result, Object())

            sResult = list(0)

            sResultBank = list(1)

            sResultNameAddressMatch = list(2)
如何从结果对象中获取3个结果?

试试这个

dim R as ReturnValues = await result
试试这个

dim R as ReturnValues = await result

使用
Async
Await
的关键在于您有以下转换:

在异步例程方面,
函数x作为SomeType
变成
异步函数x作为任务(SomeType)

在呼叫方一侧:

Dim y as SomeType
'...
y = x()
变成:

Dim y as SomeType
'...
y = Await x()

如果您没有将其作为异步代码编写,我希望您不会试图将类型为
ReturnValues
的内容转换为
列表。您应该像编写非异步函数一样编写客户机,然后在调用中插入
wait
。其余部分将按预期工作。

使用
Async
Await
的关键在于您有以下转换:

在异步例程方面,
函数x作为SomeType
变成
异步函数x作为任务(SomeType)

在呼叫方一侧:

Dim y as SomeType
'...
y = x()
变成:

Dim y as SomeType
'...
y = Await x()

如果您没有将其作为异步代码编写,我希望您不会试图将类型为
ReturnValues
的内容转换为
列表。您应该像编写非异步函数一样编写客户机,然后在调用中插入
wait
。其余部分将如您所期望的那样工作。

我真的不明白问题是什么。如果有一个
Async
函数声明为
任务(返回值)
,那么等待该方法将产生一个
ReturnValues
对象,因此您可以像访问其他对象一样访问该对象的属性。你似乎试图制造一个没有问题的问题。我真的不明白问题是什么。如果有一个
Async
函数声明为
任务(返回值)
,那么等待该方法将产生一个
ReturnValues
对象,因此您可以像访问其他对象一样访问该对象的属性。你似乎在试图制造一个没有问题的问题。