Меня попросили изменить лист Excel с некоторым программированием arcaic. Я решил переписать его, а не изменять все множество GOTO-статов и статических массивов. Мой опыт работы в C #, поэтому это было немного сложно (примечание: я уверен, что соглашение об именах плохое, я привык использовать подчеркивание для определения частных переменных)
У меня проблемы с инициализацией атрибута словаря типов в классе, который есть у меня в приложении VBA.
Сокращенная версия класса выглядит следующим образом
Private pTerminalCode As String
Private pTerminalName As String
...... other attributes
Private pPayRoll As Dictionary
'Propeties
Public Property Get terminalCode() As String
terminalCode = pTerminalCode
End Property
Public Property Let terminalCode(Value As String)
pTerminalCode = Value
End Property
....... more properties
Public Property Get headCount() As Dictionary
headCount = pHeadCount
End Property
Public Property Let headCount(Value As Dictionary)
pHeadCount = Value
End Property
Когда я пытаюсь использовать следующее, я получаю сообщение об ошибке «Аргумент не является обязательным» в свойстве Get атрибута headCount ().
Private Function PopulateTerminal()
Dim terminal As clsTerminal
Set terminal = New clsTerminal
terminal.terminalCode = "Wil"
terminal.headCount.Add "Company", 100
End Function
Я предполагаю, что где-то мне нужно инициализировать словарь (т. Е. = Новый словарь), однако я борюсь с тем, где его разместить. В C # я делаю это в конструкторе без проблем, не уверен, что здесь делать.
Спасибо