繁体   English   中英

如何在VB中的代码中的其他地方调用变量?

[英]How to I call a variable somewhere else in my code in VB?

所以,我有以下VB代码:

Try
        Using verSR As New StreamReader(appDataVersionLoc)
            Dim txtVern As String
            txtVern = verSR.ReadToEnd()
        End Using
    Catch ex As Exception
        Dim verFile As System.IO.FileStream
        verFile = System.IO.File.Create(appDataVersionLoc)
        My.Computer.FileSystem.WriteAllText("appDataVersionLoc", "0.0.0.0", True)
        MessageBox.Show("Version file missing/corrupt, created a new one.")
    End Try

看到那个名为“txtVern?”的变量。 我试图在Try-End Try块之外的代码中的其他地方使用它。 差不多这个:

Try
        Using verSR As New StreamReader(appDataVersionLoc)
            Dim txtVern As String
            txtVern = verSR.ReadToEnd()
        End Using
    Catch ex As Exception
        Dim verFile As System.IO.FileStream
        verFile = System.IO.File.Create(appDataVersionLoc)
        My.Computer.FileSystem.WriteAllText("appDataVersionLoc", "0.0.0.0", True)
        MessageBox.Show("Version file missing/corrupt, created a new one.")
    End Try

    blahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblah

    Dim currentversion As String = txtVern

现在,我是一个完整的VB菜鸟,我收到了这个错误:

'txtVern'未声明。 由于其保护级别,它可能无法访问。

我怎样才能解决这个问题? 谢谢!

在任何块内声明的变量仅在该块内可见。 你必须在Try块之前移动声明:

Dim txtVern As String = String.Empty
Try
    Using verSR As New StreamReader(appDataVersionLoc)
        txtVern = verSR.ReadToEnd()
    End Using
Catch ex As Exception
    Dim verFile As System.IO.FileStream
    verFile = System.IO.File.Create(appDataVersionLoc)
    My.Computer.FileSystem.WriteAllText("appDataVersionLoc", "0.0.0.0", True)
    MessageBox.Show("Version file missing/corrupt, created a new one.")
End Try

blahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblahblah

Dim currentversion As String = txtVern

在try块中声明变量txtVern时,您将其范围限制为try块。 尝试在子例程的开头声明它们。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM