有没有更好的方法在VB.Net中创建任意块来限制局部变量的范围?如果尝试了“如果1然后”,但它只是看起来像kludgy。
If 1 Then
Dim table = InputParameter1
Dim new_row = table.AddRow
new_row.field(1) = InputParameter3.user_value
End If
我只是希望稍后在此过程中访问table
和new_row
。
答案 0 :(得分:4)
重新考虑你的程序,以便在table和new_row做其他事情的另一个程序。如果你真的不需要它们以后可见,那么他们正在做一个应该重构的独特子任务。
一般来说,当您可以将代码划分为N个段时,每个段都不依赖于其他段,那么您正在查看N个任务,最好是N个过程。
这可以追溯到任何程序都应该做一件事的规则,而且多个细分是一个标志,表明它不止一件事。
答案 1 :(得分:3)
使用Option Strict On
,必须是If True Then
,但更优先的选项(据我所知)是Do ... Loop While False
。
但是,没有像简单Begin ... End
(或{ ...}
)这样的语法。
如果您可以使用IDisposable
,并将其放置在块的末尾,Using newVariable = AnIDisposable
会给您最接近您所描述的内容,但就像我说的那样,它会被处理掉最后。