当我想在Select Case
中定义值时,我得到了错误:
'Value' is not declared. It may be inaccessible due to its protection level.
当Dim Value As Object
在Select Case之外时-无错误。我的目标是在特殊数字上获得不同的值。例如:
Select Case Integer
Case 1
Dim Value As New UserControl1
Case 2
Dim Value As New UserControl2
Case Else
Dim Value As New UserControl3
End Select
试试这个,假设所有3种用户控件类型都派生自基本UserControl
对象:
Dim Value as UserControl
Select Case Integer
Case 1
Value = New UserControl1
Case 2
Value = New UserControl2
Case Else
Value = New UserControl3
End Select
在作用域内声明变量并在作用域外访问变量是不可通过的,例如select case语句。然而,通过分离声明和初始化可以很容易地解决您的问题。这使您能够在select case之外使用该变量,因为该变量在更高的范围内。变量被声明为System.Windows.Controls.UserControl,因为这是最特定的常见类型。
Dim Value As UserControl
Select Case Integer
Case 1
Value = New UserControl1
Case 2
Value = New UserControl2
Case Else
Value = New UserControl3
End Select