vb.net选择案例错误



当我想在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

最新更新