EDIT:
Лучший способ, которым я могу думать, чтобы справиться с этим будет еще один объект, который содержит ваш класс DatabaseCollection. Таким образом, ваш объект DatabaseCollection будет публичным свойством вашего объекта «Контейнер». Затем вы могли бы также иметь свои LookupTables в объекте «Контейнер», и он будет относить 1-1 для каждого DatabaseCollection.
В дополнение к классу DatabaseCollection (если у вас есть другие свойства/методы Если нет, то это может быть просто общий список..), А также включают в себя следующее:
Public Class ContainerForDatabaseCollection
Private Property _DbCollection as new DatabaseCollection
Public Readonly Property DbCollection as DatabaseCollection(of String)
Get
return _DbCollection
End Get
End Property
Private Shared Property _LookupTables As Dictionary(Of String, IEnumerable)
Public Shared ReadOnly Property LookupTables As Dictionary(Of String, IEnumerable)
Get
If _LookupTables Is Nothing Then
_LookupTables = New Dictionary(Of String, IEnumerable)
End If
Return _LookupTables
End Get
End Property
public Sub New() 'Possibly include parameters for private properties...
'Initialize Private properties
End Sub
End Class
Обратите внимание, что 'Словарь' не является потокобезопасным. Вместо этого вы можете использовать 'ConcurrentDictionary', если свойство имеет доступ несколькими потоками. – Magnus
Я не уверен, что вы делаете или что вы просите. Кажется, вы расширяете общий список с помощью свойства, которое, как представляется, не зависит от списка, который поражает меня как немного. Можете ли вы точно определить, что такое намерение этого кода? Также меня смущает «Я хочу получить доступ к этому свойству из другого места. Как мне это сделать?». Ваш объект чувствует себя немного напуганным для меня, но является объектом, как любой другой, и вы получаете доступ к его свойствам, как и любой другой. – Chris
@ Крис, вы говорите: «Вы можете получить доступ к его свойствам, как и любой другой». Можете ли вы опубликовать ответ и показать мне какой-то код, который это делает? 'DatabaseCollection.LookupTables' не компилируется. 'DatabaseCollection (Of) .LookupTables' также не компилируется. – toddmo