84 lines
2.9 KiB
VB.net
84 lines
2.9 KiB
VB.net
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
|