2011-08-08 6 views
1

클래스를 만들고 Arraylist에 개체를 넣었습니다. 여기 개체 열거

은 클래스입니다 : 내가 원하는

Public Class ItemColl 

    Public TBPid, PAid As Integer 

    Public Sub New(ByVal _TBPid As Integer, ByVal _PAid As Integer) 
     TBPid = _TBPid 
     PAid = _PAid 
    End Sub 
End Class 

Dim arrlst as new ArrayList 

arrlst.Add(new ItemColl("1a","12")) 

arrlst.Add(new ItemColl("1b","123")) 

arrlst.Add(new ItemColl("1as","45")) 

arrlst.Add(new ItemColl("1tr","67")) 

내가 인덱스를 사용하여 ArrayList를 열거 할 때마다, 그것은 "ItemColl.TBPid"저를 가져올 것입니다 (아래 참조하시기 바랍니다 ..)

For i As Integer = 0 To arrlst.Count - 1 

    arrlst.item(i) //Here I need TBPid to be returned. 

Next 

ToString()을 재정의 할 수 있지만 ".ToString()"을 사용하여 기존 코드를 변경하는 데 많은 시간이 필요하다는 것을 알고 있습니다.

+0

@ [Umesh Kumawat] 사용중인 기술과 언어로 질문에 항상 태그를 답니다 (예 : .NET, VB.NET). 다른 응답을 얻지 못한 이유는 기술을 식별하지 못했기 때문에 .NET 프로그래머는 자신의 질문이 관련성이 있다는 것을 알지 못했기 때문입니다. 태그를 추가하려고했으나 승인되지 않았습니다. – Zesty

답변

1

클래스를 만든 다음 해당 형식의 generic list을 만듭니다. 강력한 형식의리스트를 사용하면 다음 아래와 같은 개체의 속성에 액세스 할 수 있습니다 물론

Dim myList As New List(Of ItemColl)() 
myList(0).PAid1 = 1 

, 당신은 또한 ItemColl에 ArrayList의 각 개체를 캐스팅 할 수 있습니다

TBPid= CType(arrlst(0), ItemColl).TBPid 

그러나 목록을 사용하는 것이 좋습니다.