簡體   English   中英

C#中的VB.NET委托

[英]A delegate in C# to VB.NET

我正在嘗試使用NUnit 2.6.4將此工作的.NET2 C#轉換為.NET2 VB.NET

[Test]
public void Test() {
    Assert.Throws<Exception>(delegate {
        DoSomething(2);
    });
}

public void DoSomething(int i) {
    throw new Exception();
}

然后進入VB:

<Test> _
Public Sub Test()
    Assert.Throws(Of Exception)(Sub() DoSomething(2))
End Sub

Public Sub DoSomething(i As Integer)
    Throw New Exception()
End Sub

這適用於.NET4但不適用於.NET2-因為我正在使用匿名方法...但是如何在VB.NET中的.NET2中表達委托

類似於: AddressOf DoSomething(2)

您可以創建一個新的命名方法,而不是使用匿名方法。

Public Sub Test()
    Assert.Throws(Of Exception)(AddressOf DoSomethingPassingTwo)
End Sub

Public Sub DoSomethingPassingTwo()
    DoSomething(2)
End Sub

Public Sub DoSomething(i As Integer)
    Throw New Exception()
End Sub

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM