【发布时间】:2023-04-10 17:02:01
【问题描述】:
我不是 VB.NET 人,但我现在必须这样做。我正在尝试调用服务并使用下面的 VB.NET 代码取回数据。
但我收到一个异常,提示 InvalidCastException 指定的转换无效。
Dim service = Ioc.Resolve(Of Services.DokumentServiceClient)()
Dim response = service.Dokument(Id, GroupId, False)
Dim DocumentId = ASPxListBoxDokument.SelectedItem.Value
Dim result = (From documents In response.Values
From d In documents
Where d.DocumentId = DocumentId
Select d).FirstOrDefault
所以我在 c# 中尝试了相同的方法,它可以工作。 这是在 C# 代码中
var response = client.Dokument(Id, GroupId, false);
Guid DocumentId = ASPxListBoxDokument.SelectedItem.Value
var result = (from documents in response.Values
from d in documents
where d.DocumentId == DocumentId
select d).FirstOrDefault();
我应该怎么做才能让它在 VB.NET 中工作?
【问题讨论】:
-
虽然这不是相同的代码。 C#代码中
client的类型在哪里? -
在哪里你得到了那个例外?堆栈跟踪准确地告诉您它发生在哪一行。
-
是
Ioc.Resolve行(即不在您的 c# 中的行)在您的 VB 代码中引发异常吗? -
不要介意 Ioc 它是使用 svcutil 生成的。在 .FirstOrDefault* 处引发异常
-
为什么VB代码使用
service.Dokument,而C#代码使用client.Dokument?
标签: c# .net vb.net linq entity-framework