Mega Code Archive

 
Categories / VB.Net Tutorial / Generics
 

Create generic Dictionary

Imports System.Collections.Generic public class Test    public Shared Sub Main                Dim m_PairDictionary As New PairDictionary(Of Integer, String, String)       m_PairDictionary.Add(1,"A", "B")       Dim value1 As String = Nothing       Dim value2 As String = Nothing       m_PairDictionary.GetItem(1,value1, value2)       Console.WriteLine(value1)       Console.WriteLine(value2)       m_PairDictionary.Remove(1)    End Sub End class Public Class PairDictionary(Of KeyType, DataType1, DataType2)     Private Structure DataPair         Public Data1 As DataType1         Public Data2 As DataType2         Public Sub New(ByVal data_value1 As DataType1, ByVal data_value2 As DataType2)             Data1 = data_value1             Data2 = data_value2         End Sub     End Structure     Private m_Dictionary As New Dictionary(Of KeyType, DataPair)     Public ReadOnly Property Count() As Integer         Get             Return m_Dictionary.Count         End Get     End Property     Public Sub Add(ByVal key As KeyType, ByVal data_value1 As DataType1, ByVal data_value2 As DataType2)         m_Dictionary.Add(key, New DataPair(data_value1, data_value2))     End Sub     Public Sub Clear()         m_Dictionary.Clear()     End Sub     Public Function ContainsKey(ByVal key As KeyType) As Boolean         Return m_Dictionary.ContainsKey(key)     End Function     Public Sub GetItem(ByVal key As KeyType, ByRef data_value1 As DataType1, ByRef data_value2 As DataType2)         Dim data_pair As DataPair = m_Dictionary.Item(key)         data_value1 = data_pair.Data1         data_value2 = data_pair.Data2     End Sub     Public Sub SetItem(ByVal key As KeyType, ByVal data_value1 As DataType1, ByVal data_value2 As DataType2)         m_Dictionary.Item(key) = New DataPair(data_value1, data_value2)     End Sub     Public ReadOnly Property Keys() As System.Collections.ICollection         Get             Return m_Dictionary.Keys()         End Get     End Property     Public Sub Remove(ByVal key As KeyType)         m_Dictionary.Remove(key)     End Sub End Class A B