0

我在 c# 中有以下代码行。

Check.ThatIsNotAnEmptyString(line1, () => { throw new InvalidAddressException("An address must have a street"); });

我很难将其转换为 vb.net。

我使用了转换工具“www.developerfusion.com”,但它会生成以下代码。

Check.ThatIsNotAnEmptyString(line1, Function() Throw New InvalidAddressException("An address must have a street") End Function)

它抱怨“投掷”一词表示预期的表达。

谁能告诉我是否可以将其转换为 vb.net。

4

1 回答 1

3

您必须使用Sub,因为该函数没有返回值(如void在 C# 中)。

此外,由于该函数位于一行上,因此您不需要一个End Sub/Function,它仅在多行函数上需要(并且在 .Net 4.0 中添加)。


所以你的代码应该是:

Check.ThatIsNotAnEmptyString(line1, Sub() Throw New InvalidAddressException("An address must have a street"))
于 2012-08-16T09:00:30.560 回答