Advertisement
richcoleman

Reusable NameValue Class

Nov 15th, 2011
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
VB.NET 3.60 KB | None | 0 0
  1.  
  2. Partial Public Class Process
  3.  
  4.     Public Class MetaData
  5.  
  6.         Public Sub New()
  7.  
  8.         End Sub
  9.  
  10.         Private _name As String
  11.         Public Property Name() As String
  12.             Get
  13.                 Return _name
  14.             End Get
  15.             Set(ByVal value As String)
  16.                 _name = value
  17.             End Set
  18.         End Property
  19.  
  20.         Private _value As String
  21.         Public Property Value() As String
  22.             Get
  23.                 Return _value
  24.             End Get
  25.             Set(ByVal value As String)
  26.                 _value = value
  27.             End Set
  28.         End Property
  29.  
  30.     End Class
  31.  
  32. End Class
  33.  
  34. Partial Public Class Process
  35.  
  36.     Partial Public Class Document
  37.  
  38.         Public Class MetaData
  39.  
  40.             Public Sub New()
  41.  
  42.             End Sub
  43.  
  44.             Private _name As String
  45.             Public Property Name() As String
  46.                 Get
  47.                     Return _name
  48.                 End Get
  49.                 Set(ByVal value As String)
  50.                     _name = value
  51.                 End Set
  52.             End Property
  53.  
  54.             Private _value As String
  55.             Public Property Value() As String
  56.                 Get
  57.                     Return _value
  58.                 End Get
  59.                 Set(ByVal value As String)
  60.                     _value = value
  61.                 End Set
  62.             End Property
  63.  
  64.         End Class
  65.  
  66.     End Class
  67.  
  68. End Class
  69.  
  70.  
  71. Partial Public Class Process
  72.  
  73.         Private metaDatas As New MetaDataCollection()
  74.  
  75.         Public Sub AddMetaData(ByVal metaData As MetaData)
  76.             metaDatas.Add(metaData)
  77.         End Sub
  78.  
  79.         Private NotInheritable Class MetaDataCollection
  80.             Inherits CollectionBase
  81.  
  82.             Public Sub New()
  83.  
  84.             End Sub
  85.  
  86.             Default Public ReadOnly Property Item(ByVal index As Integer) As MetaData
  87.                 Get
  88.                     Return CType(List.Item(index), MetaData)
  89.                 End Get
  90.             End Property
  91.  
  92.             Public Sub Add(ByVal metaData As MetaData)
  93.                 List.Add(metaData)
  94.             End Sub
  95.  
  96.             Public Sub Remove(ByVal index As Integer)
  97.                 If index > Count - 1 Or index < 0 Then
  98.                     Console.WriteLine("Can't remove this item")
  99.                 Else
  100.                     List.RemoveAt(index)
  101.                 End If
  102.             End Sub
  103.  
  104.         End Class
  105.  
  106. End Class
  107.  
  108.  
  109. Partial Public Class Process
  110.  
  111.     Partial Public Class Document
  112.  
  113.         Private metaDatas As New MetaDataCollection()
  114.  
  115.         Public Sub AddMetaData(ByVal metaData As MetaData)
  116.             metaDatas.Add(metaData)
  117.         End Sub
  118.  
  119.         Public Sub AddMetaData(ByVal name As String, ByVal value As String)
  120.             metaDatas.Add(name, value)
  121.         End Sub
  122.  
  123.         Private NotInheritable Class MetaDataCollection
  124.             Inherits CollectionBase
  125.  
  126.             Public Sub New()
  127.  
  128.             End Sub
  129.  
  130.             Default Public ReadOnly Property Item(ByVal index As Integer) As MetaData
  131.                 Get
  132.                     Return CType(List.Item(index), MetaData)
  133.                 End Get
  134.             End Property
  135.  
  136.             Public Sub Add(ByVal metaData As MetaData)
  137.                 List.Add(metaData)
  138.             End Sub
  139.  
  140.             Public Sub Remove(ByVal index As Integer)
  141.                 If index > Count - 1 Or index < 0 Then
  142.                     Console.WriteLine("Can't remove this item")
  143.                 Else
  144.                     List.RemoveAt(index)
  145.                 End If
  146.             End Sub
  147.  
  148.         End Class
  149.  
  150.     End Class
  151.  
  152. End Class
  153.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement