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
我正在尝试使用 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