6

有没有更好的方法在 VB.Net 中创建任意块来限制局部变量的范围?如果尝试过“If 1 Then”,但它看起来很笨拙。

If 1 Then
    Dim table = InputParameter1
    Dim new_row = table.AddRow
    new_row.field(1) = InputParameter3.user_value
End If

我只是不想在程序的后期拥有table和访问。new_row

4

2 回答 2

4

重构您的过程,以便在另一个过程中 table 和 new_row 做他们的事情。如果您以后真的不需要它们可见,那么它们正在执行一个不同的子任务,无论如何都应该重构。

一般来说,当您可以将您的代码划分为 N 个段时,其中每个段不依赖于其他段,那么您正在查看 N 个任务,最好是 N 个过程。

这可以追溯到任何程序都应该做一件事的规则,而多个段表明它正在做不止一件事。

于 2012-12-06T17:13:56.070 回答
3

使用Option Strict On,那必须是If True Then,但更首选的选项(据我所见)是Do ... Loop While False.

但是,没有像简单Begin ... End(或{ ...})这样的语法。

如果您可以使用IDisposable,并将其放置在块的末尾,Using newVariable = AnIDisposable则可以为您提供最接近您所描述的内容,但就像我说的那样,它被放置在末尾。

于 2012-12-09T01:17:34.027 回答