Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - .NET

Страница: 1 |

 

  Вопрос: VB .NET - создание коллекции Добавлено: 22.05.03 17:28  

Автор вопроса:  Павел | Web-сайт: www.vbnet.ru | ICQ: 326066673 
  Я хочу создать коллекцию, как ArrayList, только чтобы в ней могли храниться объекты определённого типа (экземпляры моего класса Message). Как это быстро и просто сделать?

Ответить

  Ответы Всего ответов: 9  

Номер ответа: 1
Автор ответа:
  Creator



Вопросов: 11
Ответов: 61
 Профиль | | #1 Добавлено: 23.05.03 05:21

 Странный геморрой у тебя, но можно примерно так:

Option Strict On

Customer - твой тип

Public Class Customers

Inherits System.Collections.CollectionBase

Public Overloads Function Add(ByVal Value As Customer) As Customer

Me.InnerList.Add(Value)

Return Value

End Function

Public Overloads Function Add(ByVal FirstName As String, ByVal LastName As String, ByVal AccountNum As String) As Customer

Dim cust As New Customer()

cust.FirstName = FirstName

cust.LastName = LastName

cust.AccountNumber = AccountNum

Me.InnerList.Add(cust)

Return cust

End Function

Public Overloads Function Item(ByVal Index As Integer) As Customer

Return CType(Me.InnerList.Item(Index), Customer)

End Function

Public Overloads Function Item(ByVal cust As Customer) As Customer

Dim myIndex As Integer

myIndex = Me.InnerList.IndexOf(cust)

Return CType(Me.InnerList.Item(myIndex), Customer)

End Function

Public Overloads Sub Remove(ByVal cust As Customer)

Me.InnerList.Remove(cust)

End Sub

Public Overloads Sub Remove(ByVal Index As Integer)

Dim cust As Customer

cust = CType(Me.InnerList.Item(Index), Customer)

If Not cust Is Nothing Then

Me.InnerList.Remove(cust)

End If

Ответить

Номер ответа: 2
Автор ответа:
 Павел



Администратор

ICQ: 326066673 

Вопросов: 368
Ответов: 5968
 Web-сайт: www.vbnet.ru
 Профиль | | #2
Добавлено: 23.05.03 09:40

Да, я почти так и сделал (сделал класс, наследующий от CollectionBase).

Насчёт того, зачем это надо: пишу .NET компонент, одно из свойств - коллекция. Можно было бы заюзать ArrayList, но нужно, чтобы в нём можно было хранить только данные конкретного типа.

Ответить

Номер ответа: 3
Автор ответа:
  Creator



Вопросов: 11
Ответов: 61
 Профиль | | #3 Добавлено: 23.05.03 10:28

Опять, же, а если тупо:

  Customer - твой тип

Public Customers as Customer

Ответить

Номер ответа: 4
Автор ответа:
 Павел



Администратор

ICQ: 326066673 

Вопросов: 368
Ответов: 5968
 Web-сайт: www.vbnet.ru
 Профиль | | #4
Добавлено: 23.05.03 11:42

А это к чему? Это итак ясно.

Ответить

Номер ответа: 5
Автор ответа:
 Павел



Администратор

ICQ: 326066673 

Вопросов: 368
Ответов: 5968
 Web-сайт: www.vbnet.ru
 Профиль | | #5
Добавлено: 26.11.05 11:53
В VB 2005 (и C# 2.0) это можно сделать проще, с помощью Generic-типов. Например:

VB:
Dim Customers As New System.Collections.Generic.List(Of Customer)


C#:
System.Collections.Generic.List<Customer> Customers = new System.Collections.Generic.List<Customer>;

Ответить

Номер ответа: 6
Автор ответа:
 Александр



Разработчик Offline Client

ICQ: 204034 

Вопросов: 106
Ответов: 1919
 Профиль | | #6 Добавлено: 26.11.05 12:47
Ух ты... Павел занялся археологией :)

Ответить

Номер ответа: 7
Автор ответа:
 AASoft



Вопросов: 86
Ответов: 920
 Профиль | | #7 Добавлено: 27.11.05 05:12
da net, eto uzhe ne arheologiya...eto vidno Pavel zapisalsya v M$ Advertising Team (esli takoj est`) i teper` reklamiruet VS2005 i .Net 2.0 :D:D:D

gy, a vabshe na Pavla eto ne pohozhe..on vidimo pomnil pro etot post i sidel ego pol dnya iskal :D lol

Ответить

Номер ответа: 8
Автор ответа:
 Павел



Администратор

ICQ: 326066673 

Вопросов: 368
Ответов: 5968
 Web-сайт: www.vbnet.ru
 Профиль | | #8
Добавлено: 27.11.05 09:20
В поезде делать было нечего, поэтому решил заняться археологией. Правда это довольно скучное занятие, больше чем на 3 темы меня не хватило :)

Ответить

Номер ответа: 9
Автор ответа:
 Александр



Разработчик Offline Client

ICQ: 204034 

Вопросов: 106
Ответов: 1919
 Профиль | | #9 Добавлено: 27.11.05 17:45
Нда... А представь, сколько терпения у самых ярых археологов? :)

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам