VB.NET中局部变量的作用域是如何限定在特定代码块的?
- 内容介绍
- 文章标签
- 相关推荐
本文共计399个文字,预计阅读时间需要2分钟。
在VB.Net中,没有直接的方法来创建任意模块,并限制其局部变量的范围。但可以通过定义一个类或结构体来模拟模块的功能,并使用属性来控制变量的范围。
例如,以下是一个简化的示例,展示了如何创建一个类来模拟模块,并使用属性来限制局部变量的范围:
vb.netPublic Class ModuleSimulator Private _input As String Private _table As DataTable
Public Property Input() As String Get Return _input End Get Set(value As String) _input=value End Set End Property
Public Property Table() As DataTable Get Return _table End Get Set(value As DataTable) _table=value End Set End Property
Public Sub CreateRow() If Not String.IsNullOrEmpty(_input) Then Dim newRow As DataRow=_table.NewRow() newRow(Field1)=_input _table.Rows.Add(newRow) End If End SubEnd Class
' 使用示例Dim simulator As New ModuleSimulator()simulator.Input=SomeValuesimulator.Table=New DataTable()simulator.Table.Columns.Add(Field1, GetType(String))
simulator.CreateRow() ' 将创建一行,其中Field1为someValue
有没有更好的方法在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.
使用Option Strict On,必须是If True Then,但更优选的选项(据我所见)是Do … Loop While False.但是,没有像简单的Begin … End(或{…})这样的语法.
如果您可以使用IDisposable,并将其放置在块的末尾,则使用newVariable = AnIDisposable可以使您最接近您所描述的内容,但就像我说的那样,它会被放置在最后.
本文共计399个文字,预计阅读时间需要2分钟。
在VB.Net中,没有直接的方法来创建任意模块,并限制其局部变量的范围。但可以通过定义一个类或结构体来模拟模块的功能,并使用属性来控制变量的范围。
例如,以下是一个简化的示例,展示了如何创建一个类来模拟模块,并使用属性来限制局部变量的范围:
vb.netPublic Class ModuleSimulator Private _input As String Private _table As DataTable
Public Property Input() As String Get Return _input End Get Set(value As String) _input=value End Set End Property
Public Property Table() As DataTable Get Return _table End Get Set(value As DataTable) _table=value End Set End Property
Public Sub CreateRow() If Not String.IsNullOrEmpty(_input) Then Dim newRow As DataRow=_table.NewRow() newRow(Field1)=_input _table.Rows.Add(newRow) End If End SubEnd Class
' 使用示例Dim simulator As New ModuleSimulator()simulator.Input=SomeValuesimulator.Table=New DataTable()simulator.Table.Columns.Add(Field1, GetType(String))
simulator.CreateRow() ' 将创建一行,其中Field1为someValue
有没有更好的方法在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.
使用Option Strict On,必须是If True Then,但更优选的选项(据我所见)是Do … Loop While False.但是,没有像简单的Begin … End(或{…})这样的语法.
如果您可以使用IDisposable,并将其放置在块的末尾,则使用newVariable = AnIDisposable可以使您最接近您所描述的内容,但就像我说的那样,它会被放置在最后.

