试图将此子转换为VB [英] Trying to convert this sub to VB
本文介绍了试图将此子转换为VB的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
将Linq lambda从C#转换为VB时出现问题。
错误是:
错误5重载解析失败,因为没有access''New''对于这些论点最具体:
''Public Sub New(start As System.Threading.ParameterizedThreadStart)'':不是最具体的。
''Public Sub New(start As System.Threading.ThreadStart)'':不是最具体的。
这里是C#代码,我对VB的尝试如下。
Having a problem converting a Linq lambda from C# to VB.
The error is:
Error 5 Overload resolution failed because no accessible ''New'' is most specific for these arguments:
''Public Sub New(start As System.Threading.ParameterizedThreadStart)'': Not most specific.
''Public Sub New(start As System.Threading.ThreadStart)'': Not most specific.
Here''s the C# code, and my attempt at VB follows.
private void FetchEnvelopesAsync(Mailbox mailbox)
{
new Thread(() =>
{
try {
using (var client = CreateClientByAccount _
(mailbox.AccountState.Account)) {
client.Select(mailbox.Fullname);
var query = client.Messages.Where(x => x.Date < DateTime.Today.AddDays(1)).Select _
(x => new MyMessage {Envelope = x.Envelope, Uid = x.Uid});
foreach (var message in query) {
message.Mailbox = mailbox;
AddMessageToViewSafely(mailbox, message);
}
}
}
catch (Exception ex) {
LogSafely(ex.Message);
}
}).Start();
}
Private Sub FetchEnvelopesAsync(mailbox As cMailbox)
Dim T As New Thread(Function()
Try
Using client = CreateClientByAccount(mailbox.AccountState.Account)
client.[Select](mailbox.Fullname)
Dim query = client.Messages.Where( _
Function(x) x.[Date] < DateTime.Today.AddDays(1)).[Select] _
(Function(x) New cMyMessage() _
With {.Envelope = x.Envelope, .Uid = x.Uid})
For Each message As Object In query
message.Mailbox = mailbox
AddMessageToViewSafely(mailbox, message)
Next
End Using
Catch ex As Exception
LogSafely(ex.Message)
End Try
End Function)
T.Start()
End Sub
推荐答案
你有没有试过这个;
Hi,
have you tried this;
Private Sub FetchEnvelopesAsync(mailbox As cMailbox)
Dim T As New Thread( New ThreadStart(
Function()
Try
Using client = CreateClientByAccount(mailbox.AccountState.Account)
client.[Select](mailbox.Fullname)
Dim query = client.Messages.Where( _
Function(x) x.[Date] < DateTime.Today.AddDays(1)).[Select] _
(Function(x) New cMyMessage() _
With {.Envelope = x.Envelope, .Uid = x.Uid})
For Each message As Object In query
message.Mailbox = mailbox
AddMessageToViewSafely(mailbox, message)
Next
End Using
Catch ex As Exception
LogSafely(ex.Message)
End Try
End Function))
End Sub
Jegan
Jegan
这篇关于试图将此子转换为VB的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文