working on configuration class model
This commit is contained in:
83
Pilz.Configuration/ConfigurationManagerList.vb
Normal file
83
Pilz.Configuration/ConfigurationManagerList.vb
Normal file
@@ -0,0 +1,83 @@
|
||||
Imports Pilz.Configuration
|
||||
Imports Pilz.GeneralEventArgs
|
||||
|
||||
Public Class ConfigurationManagerList
|
||||
Implements IList(Of ConfigurationManager)
|
||||
|
||||
Public Event GettingParentManager(sender As Object, e As GetValueEventArgs(Of SimpleConfiguration))
|
||||
|
||||
Private ReadOnly myList As New List(Of ConfigurationManager)
|
||||
|
||||
Private Function GetParentManager()
|
||||
Dim args As New GetValueEventArgs(Of SimpleConfiguration)
|
||||
RaiseEvent GettingParentManager(Me, args)
|
||||
Return args.Value
|
||||
End Function
|
||||
|
||||
Default Public Property Item(index As Integer) As ConfigurationManager Implements IList(Of ConfigurationManager).Item
|
||||
Get
|
||||
Return myList(index)
|
||||
End Get
|
||||
Set(value As ConfigurationManager)
|
||||
myList(index) = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property Count As Integer Implements ICollection(Of ConfigurationManager).Count
|
||||
Get
|
||||
Return myList.Count
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property IsReadOnly As Boolean Implements ICollection(Of ConfigurationManager).IsReadOnly
|
||||
Get
|
||||
Return False
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public Sub Insert(index As Integer, item As ConfigurationManager) Implements IList(Of ConfigurationManager).Insert
|
||||
myList.Insert(index, item)
|
||||
item.SetConfiguration(GetParentManager)
|
||||
End Sub
|
||||
|
||||
Public Sub RemoveAt(index As Integer) Implements IList(Of ConfigurationManager).RemoveAt
|
||||
|
||||
End Sub
|
||||
|
||||
Public Sub Add(item As ConfigurationManager) Implements ICollection(Of ConfigurationManager).Add
|
||||
item.SetConfiguration(GetParentManager)
|
||||
End Sub
|
||||
|
||||
Public Sub Clear() Implements ICollection(Of ConfigurationManager).Clear
|
||||
For Each item As ConfigurationManager In myList
|
||||
item.SetConfiguration(Nothing)
|
||||
Next
|
||||
myList.Clear()
|
||||
End Sub
|
||||
|
||||
Public Sub CopyTo(array() As ConfigurationManager, arrayIndex As Integer) Implements ICollection(Of ConfigurationManager).CopyTo
|
||||
myList.CopyTo(array, arrayIndex)
|
||||
End Sub
|
||||
|
||||
Public Function IndexOf(item As ConfigurationManager) As Integer Implements IList(Of ConfigurationManager).IndexOf
|
||||
Return myList.IndexOf(item)
|
||||
End Function
|
||||
|
||||
Public Function Contains(item As ConfigurationManager) As Boolean Implements ICollection(Of ConfigurationManager).Contains
|
||||
Return myList.Contains(item)
|
||||
End Function
|
||||
|
||||
Public Function Remove(item As ConfigurationManager) As Boolean Implements ICollection(Of ConfigurationManager).Remove
|
||||
item.SetConfiguration(Nothing)
|
||||
Return myList.Remove(item)
|
||||
End Function
|
||||
|
||||
Public Function GetEnumerator() As IEnumerator(Of ConfigurationManager) Implements IEnumerable(Of ConfigurationManager).GetEnumerator
|
||||
Return IEnumerable_GetEnumerator()
|
||||
End Function
|
||||
|
||||
Private Function IEnumerable_GetEnumerator() As IEnumerator Implements IEnumerable.GetEnumerator
|
||||
Return myList.GetEnumerator
|
||||
End Function
|
||||
|
||||
End Class
|
||||
Reference in New Issue
Block a user