うわー、あなたの論理は従うのが難しかったです。次のようなものはどうですか:
Private mVariable1 = Nothing
Private mVariable2 As String = "Something"
Private mFilePath As String = System.Environment.GetEnvironmentVariable("APPDATA")
Private mFileSpec As String = System.IO.Path.Combine(mFilePath, "textfile.txt")
' dgp rev 3/13/2012
Private ReadOnly Property Variable1 As String
Get
If mVariable1 Is Nothing Then
If System.IO.File.Exists(mFileSpec) Then
Try
Dim sr = New StreamReader(mFileSpec)
mVariable1 = sr.ReadToEnd
sr.Close()
Catch ex As Exception
mVariable1 = "error"
End Try
Else
mVariable1 = mVariable2
End If
End If
Return mVariable1
End Get
End Property
変数は、最初の参照時に、テキスト ファイルまたはハード コードされた値 (ファイルが存在しない場合) のいずれかで初期化されます。もちろん、プログラムが閉じられると永続的なものは何もありません。それは私があなたの要件について少し曖昧になるところです.