2012-09-19 4 views
1

기존 ASP를 사용하여 클래스에 arraylist 속성을 추가하려면 어떻게합니까? (작동하지 않음)클래스의 클래식 ASP arraylist 속성?

내 예 : - 함수, 클래스 생성자의 서브 루틴

Class AA 
    Public AA_id 
    Dim data: set data = CreateObject("System.Collections.ArrayList") 
End Class 
+0

클래식 ASP는의 개념이 없습니다 클래스, 그래서 여기에 무슨 일이 일어나고 있는지 전혀 모르겠지만 ... 클래식 ASP는 그들 중 하나가 아니에요 ... –

+0

@DavidW 틀린. 그것은 수업을 가지고 있습니다. [예제] (http://stackoverflow.com/questions/458644/overload-constructors-in-vbscript). (기존 ASP는 VBScript 5를 사용하고 있습니다) –

답변

0

당신은 방법 내부 클래스 멤버를 초기화해야합니다. 당연히이 중 가장 좋은 것은 생성자 내부입니다.

사용자 정의 VBScript를 클래스의 일부로 .NET의 ArrayList를 사용하는 방법을 보여주는 완벽한 작업 코드 :

<% 
Class MyCustomClass 
    Private internalArrayList 

    Private Sub Class_Initialize() 
     Set internalArrayList = Server.CreateObject("System.Collections.ArrayList") 
    End Sub 

    Private Sub Class_Terminate() 
     Set internalArrayList = Nothing 
    End Sub 

    Public Sub AddItem(oItem) 
     internalArrayList.Add(oItem) 
    End Sub 

    Public Function ToString() 
     Dim data, x 
     data = "List contains " & internalArrayList.Count & " item" 
     If internalArrayList.Count<>1 Then data = data & "s" 
     For x=0 To internalArrayList.Count-1 
      data = data & "<br />" 
      If IsObject(internalArrayList(x)) Then 
       data = data & "complex object of type " & TypeName(internalArrayList(x)) 
      ElseIf IsArray(internalArrayList(x)) Then 
       data = data & "array with " & (UBound(internalArrayList(x)) + 1) & " items" 
      Else 
       data = data & internalArrayList(x) 
      End If 
     Next 
     ToString = data 
    End Function 
End Class 
%> 

사용 예제, 복잡한 객체를 추가 포함하여 :

Class Foo 
    Public Dummy 
End Class 

Dim myInstance, myFoo 
Set myInstance = New MyCustomClass 
myInstance.AddItem("hello") 
myInstance.AddItem("world") 
myInstance.AddItem(Array(1, 2, 3)) 

Set myFoo = New Foo 
myFoo.Dummy = "just checking" 
myInstance.AddItem(myFoo) 

Response.Write(myInstance.ToString())