Ik begrijp er niet echt veel van, sorry, is er geen makkelijke manier om net zoals in classic ASP een array global te definieren ofzo? En om hem vervolgens dynamisch een grootte te geven? v.b.:
Owke, ik zal het nog uitleggen, met uitleg er bij.
Vooraf: imho is het volstrekt nutteloos om een arraylist vooraf qua grootte te definieren. Je kan namelijk een x aantal items toevoegen; wil je er 5 toevoegen, dan hoef je niet vooraf te zeggen dat hij 5 groot is, dat zoekt de zelf wel uit.
Door middel van een blaat.count kan je het aantal items in de arraylist, genoemd blaat opvragen. Let op dat een arraylist begint met 0, dus als je de arraylist wilt doorlopen, doe je dat van 0 tot count - 1
Verder zei je dat je een bepaalde scope wilde hebben. Die heb ik toegevoegd door middel van
code:
1
| Public Shared Readonly Property TheArraylist |
Public: Kan je de scope zelf van opzoeken..

Shared: Gedeeld, dus je hoeft niet eerst een New clsClass te gebruiken
Readonly: Alleen uitlezen, niet wegschrijven.
Property: Ook duidelijk
Je kan de arraylist dus opvragen door: clsClass.TheArraylist() te gebruiken
Wat is hier niet duidelijk aan?
Kortom: je hoeft dus niet te redimmen oid!
Als je je probleem in standaard ASP, met uitleg neerzet en een poging in ASP.Net, wil ik wel kijken of ik je kan helpen met omzetten.
Edit:
Ow ja, jouw code omgezet naar ASP.Net is:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
| Public Class clsClass
Private _aTestArray As New ArrayList()
Public ReadOnly Property aTestArray() As ArrayList
Get
Return _aTestArray
End Get
End Property
Public Sub AddItemToArray(ByVal DataToAdd As String)
_aTestArray.Add(DataToAdd)
End Sub
Public Sub Number2()
AddItemToArray("Test")
End Sub
End Class |
Opmerkingen: Jouw functions zijn geen functions, maar sub's (je returnt geen waarde)
Als je atestArray definieert in Function 2, zal Function AddItemToArray daar nooit bijkunnen, omdat deze buiten de scope ligt (zijn mijn code, waar deze 'boven' de functie staat)
Wat in VBScript niet kan, is een datatype definieren (alles is van het type variant). In ASP.Net kan dit wel; een goede eigenschap zou ik dan ook vinden om te kiezen voor early-binding (Dim blaat as Integer) ipv late-binden (Dim blaat)
Moche je per se een nummer willen hebben (1, "test") en (2, "test2") en de volgorde van belang is, kan je ook eens kijken naar een hastable i.p.v. een arraylist.