Я нашел ответ на свой вопрос.В базовом классе, который наследуют мои пользовательские элементы управления ASP.NET, у меня есть следующее:
Dim _Connection As MyConnection
Public Property Connection As MyConnection
Get
If _Connection Is Nothing Then
RaiseEvent OnNeedConnection(_Connection)
End If
Return _Connection
End Get
Set(value As MyConnection)
_Connection = value
End Set
End Property
Public Delegate Sub NeedConnection(ByRef Connection As MyConnection)
Public Event OnNeedConnection As NeedConnection
В коде моей веб-формы я подключаю его вручную к этому:
Sub ServeConnection(ByRef Connection As MyConnection)
Connection = oConn
End Sub
фактическое соединение размещено в коде веб-формы, но у меня есть несколько пользовательских элементов управления, которые должны использовать это соединение.Каждый раз, когда любому пользовательскому элементу управления требуется соединение, его базовый класс запрашивает его, и страница хоста обслуживает его.Это стало возможным благодаря ключевому слову ByRef
.
Это самый близкий эквивалент C #, который я мог бы сложить.