VB.Net的c#Lambda表达式
我想皈依VB.Net的c#Lambda表达式,c#,vb.net,lambda,fo-dicom,C#,Vb.net,Lambda,Fo Dicom,我想皈依 cfind.OnResponseReceived = (DicomCFindRequest rq, DicomCFindResponse rp) => { Console.WriteLine("Study UID: {0}", rp.Dataset.Get<string>(DicomTag.StudyInstanceUID)); }; 也不是 事情进展顺利。。 如何转换它?这应该是等效的VB.NET: cfind.OnResponseReceived = S
cfind.OnResponseReceived = (DicomCFindRequest rq, DicomCFindResponse rp) => {
Console.WriteLine("Study UID: {0}", rp.Dataset.Get<string>(DicomTag.StudyInstanceUID));
};
也不是
事情进展顺利。。
如何转换它?这应该是等效的VB.NET:
cfind.OnResponseReceived = Sub(rq As DicomCFindRequest, rp As DicomCFindResponse)
Console.WriteLine("Study UID: {0}", rp.Dataset.[Get](Of String)(DicomTag.StudyInstanceUID))
End Sub
这应该是等效的VB.NET:
cfind.OnResponseReceived = Sub(rq As DicomCFindRequest, rp As DicomCFindResponse)
Console.WriteLine("Study UID: {0}", rp.Dataset.[Get](Of String)(DicomTag.StudyInstanceUID))
End Sub
要执行的操作不是等效的-您是否已将原始的C#Console.WriteLine操作重构为单独的
子操作
?它是一个赋值,而不是事件订阅。注意=,没有+=。因此,使用AddHander是不正确的。赋值在VB.NET中的作用相同,使用=。使用Sub,而不是Function。要执行的操作不是等效的-您是否已将原始C#Console.WriteLine操作重构为单独的Sub
?它是一个赋值,而不是事件订阅。注意=,没有+=。因此,使用AddHander是不正确的。赋值在VB.NET中的作用相同,使用=。使用Sub,而不是Function。由于该方法不返回任何内容,因此它应该是Sub
,而不是Function
@visualvent,谢谢。更新了答案。由于该方法不返回任何内容,因此它应该是子函数
,而不是函数
@visualvent,谢谢。更新了答案。
cfind.OnResponseReceived = Sub(rq As DicomCFindRequest, rp As DicomCFindResponse)
Console.WriteLine("Study UID: {0}", rp.Dataset.[Get](Of String)(DicomTag.StudyInstanceUID))
End Sub