DevMedia - asp.net, Java, Delphi, SQL e web Design, tudo em um só lugar!
Bem vindo a DevMedia!
LOGIN:     SENHA:
 
 

Dicas.NET - Criando coleções personalizadas com par Nome/Objeto

Veja nesta dica, como criar coleções personalizadas que usam chaves e valores.

 

Criando coleções personalizadas com par Nome/Objeto

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.

 

Exemplo:

 

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

 





    0 COMENTÁRIO

[Fechar]

Este post é fechado - você precisa ter acesso ao post para incluir um comentário.


Nenhum comentário foi postado - seja o primeiro a comentar!



Publicidade
Autor
Tipster .net

Dicas sobre .NET




Space do autor
Estatísticas
Favorito:
Comentários:
Feedback:
Utilidade:
0   0
[Fechar]

Você precisa estar logado para dar um feedback.

Clique aqui para efetuar o login
[Fechar]


Este post está fechado. Saiba mais sobre a assinatura MVP!
web-03
DevMedia  |  Anuncie  |  Fale conosco
Hospedagem web por Porta 80 Web Hosting
2012 - Todos os Direitos Reservados a web-03