我正在尝试使用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)
答案 0 :(得分:4)
您可以创建一个新的命名方法,而不是使用匿名方法。
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