VB.Net Tutorial/Generics/Generic Dictionary
Create generic Dictionary
<source lang="vbnet">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</source>
A B