Blog Schröder

Sammlung von Codeschnipseln zu Programmierproblemen.
Daten aus fremden Quellen unterliegen deren Rechten.
Siehe auch: Disclaimer auf www.computer-schroeder.de

Donnerstag, 29. Mai 2008

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