Код ниже будет вызывать InvalidOperationException: свойство ConnectionString не было инициализировано. Исключение выбрано в строке вызова метода Connection.Open() в методе Load. Если я использую инструкцию try-finally вместо инструкции using, все работает правильно. Может ли кто-нибудь объяснить, почему возникает исключение с помощью инструкции using?Ошибка с использованием оператора и ленивого инициализированного свойства
Public Class SomeEntity
Private _Connection As SqlClient.SqlConnection
Private _ConnectionString As String
Protected ReadOnly Property Connection() As SqlClient.SqlConnection
Get
If _Connection Is Nothing Then
_Connection = New SqlClient.SqlConnection(_ConnectionString)
End If
Return _Connection
End Get
End Property
Public Sub New(ByVal connectionString As String)
_ConnectionString = connectionString
End Sub
Public Sub Load(ByVal key As Integer)
Using Connection
Connection.Open()
...
End Using
End Sub
End Class
Собственно, это так. Он относится к защищенному свойству Connection класса SomeEntity. –