在下面的代码块中,如果 VB.NET 是否优雅地退出 With 块Var1 = 2
?
With MyObject
.Property1 = "test"
If Var1 = 2 Then
Return True
End If
.Property2 = "Test2"
End With
Return False
我记得这是 VB6 中的一个问题,并导致无法预测的行为令人头疼 - VB.NET 也是如此吗?
在下面的代码块中,如果 VB.NET 是否优雅地退出 With 块Var1 = 2
?
With MyObject
.Property1 = "test"
If Var1 = 2 Then
Return True
End If
.Property2 = "Test2"
End With
Return False
我记得这是 VB6 中的一个问题,并导致无法预测的行为令人头疼 - VB.NET 也是如此吗?
根据 MSDN,这仍然是不可能的:
不得不在这里添加另一个答案,因为我主要是好奇。从来没有用过 WITH 太多,我不记得过早退出该块,但我只是在 VB2010 下测试过它,它似乎工作得很好(即,正如我所期望的那样,换句话说......
如果 Var1 =2,则函数返回 TRUE,并且 MyObject.Property1 的值为“Test”,但尚未设置 MyObject.Property2。
它可能在测试中以这种方式工作,但在一个规模很大的实际应用程序中,在关闭调试等情况下,它可能会以不同的方式工作,所以,有一点需要考虑......