Stammdaten-Klasse
''' <summary>
''' Stammdaten zu allen möglichen Xxxxxs
''' </summary>
''' <remarks>ID ist XxxxxColor</remarks>
Public Class Xxxxxs
''' <summary>
''' Stammdaten zu einer möglichen Xxxxx
''' </summary>
''' <remarks>nicht zur externen Verwendung bestimmt - Zugriff nur über Class Xxxxxs</remarks>
Public NotInheritable Class Xxxxx
Private mImageName As String
''' <summary>
''' Name der Bilddatei ohne Extension
''' </summary>
''' <remarks>im Images-Ordner des Projekts; Standard: ".gif"</remarks>
Public ReadOnly Property ImagePath(Optional ByVal Text As String = ".gif") As String
Get
Return "~/Images/" & mImageName & ext
End Get
End Property
Private mText As String
''' <summary>
''' Textbeschreibung des Verbindungszustandes
''' </summary>
''' <value></value>
''' <returns></returns>
''' <remarks></remarks>
Public ReadOnly Property Text() As String
Get
Return mText
End Get
End Property
Friend Sub New(ByVal imageName As String, ByVal text As String)
mImageName = imageName
mText = text
End Sub
End Class
''' <summary>Sammlung der Xxxxxwerte</summary>
Private Shared mXxxxxs As New Dictionary(Of XxxxxColor, Xxxxx)
''' <summary>
''' liefert zu einer XxxxxColor die übrigen Informationen
''' </summary>
''' <remarks>Default ist nicht möglich, drum immer .Item mitschreiben</remarks>
Shared ReadOnly Property Item(ByVal XxxxxColor As XxxxxColor) As Xxxxx
Get
'müssen die Anfangsdaten eingetragen werden?
If mXxxxxs.Count = 0 Then
Dim ce As Xxxxx
'wartet auf Verbindungsaufnahme
ce = New Xxxxx("Xxxxxred", "Waiting for request")
mXxxxxs.Add(XxxxxColor.Red, ce)
'wartet auf Freigabe
ce = New Xxxxx("Xxxxxyellow", "Waiting for Xxxxx")
mXxxxxs.Add(XxxxxColor.Yellow, ce)
'Verbindung besteht
ce = New Xxxxx("Xxxxxgreen", "Connected")
mXxxxxs.Add(XxxxxColor.Green, ce)
'Verbindung nicht möglich
ce = New Xxxxx("Xxxxxgrey", "Xxxxx impossible")
mXxxxxs.Add(XxxxxColor.Grey, ce)
'Kanäle zur Zeit ausgelastet
ce = New Xxxxx("Xxxxxwhite", "All channels busy")
mXxxxxs.Add(XxxxxColor.White, ce)
End If
'gib das gesuchte Objekt zurück
Return mXxxxxs(XxxxxColor)
End Get
End Property
Private Sub New()
'soll nicht sichtbar sein -> keine Instanz nötig
End Sub
End Class

