Skip Navigation Links
Novas Tecnologias
Ferramentas Adicionais
Ferramentas Adicionais


Dica No :
718
Assunto : .NET
Titulo: Criando coleções personalizadas com par Nome/Objeto

Gostou do texto ? Vote e dê sua opinião! Pontuação atual :

Translate this page now :






Adicione aos Favoritos!
BlogBlogs Rec6 Linkk Ueba Technorati Delicious DiggIt! StumbleUpon



Quando desejamos criar coleções personalizadas normalmente criamos uma classe personalizada herdando de CollectionBase . Porém a collectionBase cria coleções apenas indexadas, não permite que utilizemos um par Key/Valor

Para utilizarmos isso deveremos fazer a herança de outra classe base : NameObjectCollectionBase

Veja um exemplo de como fica :

Public Class NameObjectCollection
Inherits System.Collections.Specialized.NameObjectCollectionBase

Sub Add(ByVal key As String, ByVal obj As Object)
Me.BaseAdd(key, obj)
End Sub

Sub Clear()
Me.BaseClear()
End Sub

' The Remove method overload that takes a string key
Sub Remove(ByVal key As String)
Me.Remove(key)
End Sub

' The Remove method overload that takes a numeric index
Sub Remove(ByVal index As Integer)
Me.Remove(index)
End Sub

' The Item property overload that takes a string key
Default Property Item(ByVal key As String) As Object
Get
Return Me.BaseGet(key)
End Get
Set(ByVal Value As Object)
Me.BaseSet(key, Value)
End Set
End Property

' The Item property overload that takes a numeric index
Default Property Item(ByVal index As Integer) As Object
Get
Return Me.BaseGet(index)
End Get
Set(ByVal Value As Object)
Me.BaseSet(index, Value)
End Set
End Property
End Class


Dim col As New NameObjectCollection
col.Add("one", 1)
col.Add("two", 2)
col.Add("three", 3)

' visit elements by their index
For i As Integer = 0 To col.Count - 1
Console.WriteLine("col({0}) = {1}", i, col(i))
Next

' visit elements by their key
For Each key As String In col
Console.WriteLine("col({0}) = {1}", key, col(key))
Next


Nome :
E-mail:
Comentarios :
 
 
Os Últimos Comentários
Nenhum comentário foi realizado ainda. Seja o primeiro !
Dicas
Dica do Dia
Receba Dicas Por Email
E-mail :  
 


 (help)
Aceito receber informativos do devASPNet, informações de eventos e treinamentos

Veja Quais Informativos Você Receberá

Pesquisar Dicas
Pesquisar Artigos, Dicas e Noticias

Banco de Dados
Algumas Entrevistas
Links Importantes

Búfalo Informática, Treinamento e Consultoria
R. Alvaro Alvim, 37/920 Centro - Cinelândia - Rio de Janeiro Cep: 20031-010
Tel : (21) 2262-1368 (21) 9240-5134 E-mail : Contato@bufaloinfo.com.br