Moin,
in meinen Klassen verwende ich vermehrt ReadOnly Eigenschaften, da ich dem Objekt nur beim Erstellen einen Wert zuweisen möchte und dieser nicht änderbar sein soll.
Jetzt benötige ich allerdings eine ReadOnly Eigenschaft, die ich nach dem Erstellen des Objektes durch Aufrufen eines Private Subs im Objekt ändere.
Im Sub New können ReadOnly Werte ja beliebig geändert werden, aber eben nicht in Subs.
Dies wäre eine Beispielklasse.
Bei SetName knallt es, da Text ReadOnly ist.
Gibt es eine Möglichkeit, dass man innerhalb einer Klasse die Klasseneigenschaften trotz ReadOnly ändern kann?
Grüße
in meinen Klassen verwende ich vermehrt ReadOnly Eigenschaften, da ich dem Objekt nur beim Erstellen einen Wert zuweisen möchte und dieser nicht änderbar sein soll.
Jetzt benötige ich allerdings eine ReadOnly Eigenschaft, die ich nach dem Erstellen des Objektes durch Aufrufen eines Private Subs im Objekt ändere.
Im Sub New können ReadOnly Werte ja beliebig geändert werden, aber eben nicht in Subs.
VB.NET-Quellcode
- Public Class Status
- Public ReadOnly Property ID As Integer = 0
- Public ReadOnly Property Text As String = ""
- Sub New()
- End Sub
- Sub New(ByVal ID_ As Integer)
- ID = ID_
- End Sub
- Private Sub SetName()
- Select Case ID
- Case 0
- Text = "Ohne"
- Case 1
- Text = "Lieferbar"
- Case 2
- Text = "Bestellt"
- Case 3
- Text = "Nicht mehr verfügbar"
- Case Else
- Text = ""
- End Select
- End Sub
- End Class
- Public Class Status
- Public ReadOnly Property ID As Integer = 0
- Public ReadOnly Property Text As String = ""
- Sub New()
- End Sub
- Sub New(ByVal ID_ As Integer)
- ID = ID_
- End Sub
- Private Sub SetName()
- Select Case ID
- Case 0
- Text = "Ohne"
- Case 1
- Text = "Lieferbar"
- Case 2
- Text = "Bestellt"
- Case 3
- Text = "Nicht mehr verfügbar"
- Case Else
- Text = ""
- End Select
- End Sub
- End Class
Dies wäre eine Beispielklasse.
Bei SetName knallt es, da Text ReadOnly ist.
Gibt es eine Möglichkeit, dass man innerhalb einer Klasse die Klasseneigenschaften trotz ReadOnly ändern kann?
Grüße