Я создал простой класс, GaugeChart:
Class GaugeChart
Public Essential
Public Lifestyle
Public Spending
Public Average
End Class
Что я хочу использовать внутри словаря:
Dim items, objGaugeDic, objGaugeChart, objGaugeChartread
Set objGaugeDic = CreateObject("Scripting.Dictionary")
Set objGaugeChart = New GaugeChart ' from GaugeChartClass.asp
objGaugeChart.Essential = intChart1Essential
objGaugeChart.Lifestyle = intChart1Lifestyle
objGaugeChart.Spending = intChart1Spending
objGaugeChart.Average = Chart1Avg
Set objGaugeDic ("Goal1") = objGaugeChart
Response.Write("Essential: " + Cstr(objGaugeChart.Essential) + "<br />")
Set objGaugeChart = New GaugeChart ' from GaugeChartClass.asp
objGaugeChart.Essential = intChart2Essential
objGaugeChart.Lifestyle = intChart2Lifestyle
objGaugeChart.Spending = intChart2Spending
objGaugeChart.Average = Chart2Avg
Set objGaugeDic ("Goal2") = objGaugeChart
' load values
'objGuageDic.Add "Goal1", objGaugeElements
Response.Write("objGaugeDic Keys: " + Cstr(objGaugeDic.Count))
For i = 0 To objGaugeDic.Count -1 'Iterate the array
Response.Write( CType(objGaugeDic.Item(i),objGaugeChart).Essential + "<br />")
Next
словарь ключей = 2 - так что все в порядке. Однако, когда я пытаюсь получить доступ к объекту и свойствам в словаре, используя CType, я получаю ошибку времени выполнения.
Попытка с objGaugeDic.Item(i).Essential
Я получаю неопределенное.
Я также попытался вместо Set objGaugeDic ("Goal1") = objGaugeChart, to do
objGaugeDic.Добавить "Goal1", objGaugeChart`.
Как я могу получить доступ к свойствам каждого элемента словаря типа objGaugeDic
, что-то вроде Response.Write( CType(objGaugeDic.Item(i),objGaugeChart).Essential + "<br />")
?