Artikel teilen! Property Getter Setter in VisualBasic.NET 2010: Seitdem ich das letzte Projekt in C# (jawohl, nicht VB.NET) umgesetzt habe, weiß ich die Formuli ...
Seitdem ich das letzte Projekt in C# (jawohl, nicht VB.NET) umgesetzt habe, weiß ich die Formulierung von einfachen Properties zu schätzen.
In C# 2008:
namespace ConsoleApplication
{
class Demo
{
string myProperty { get; private set; }
}
}
In VB.NET bis Version 2008 muss man eine private lokale Variable definieren und die Property Get-Set ausformulieren, auch wenn es nur eine einfache Zuweisung &
ein Return ist. Es gibt auch einen Assistenten dafür; man gibt Property ein und drückt zweimal auf <TAB> und bekommt den ein Template vorgegeben, das
ebenfalls über den Assistenten vervollständig werden kann. Trotzdem bleibt es eine Fleißarbeit.

In Visual Basic 2010 geht es dann analog zu C# einfacher, nur wie man einen Private Setter bekommt, habe ich noch nicht raus gefunden:
Public Class Class1
' Klassisch mit lokaler privater Variable und explizit formulierten Properties
Private myPropertyVariable As String
Public Property myProperty() As String
Get
Return myPropertyVariable
End Get
Private Set(ByVal value As String)
myPropertyVariable = value
End Set
End Property
' Neu in VB 2010; Getter/Setter wie in C#
' Allerdings ohne die Möglichkeit zum Private Setter
Public Property myPropertyNeu() As String
End Class
| June 2012 | ||||||||||
| M | T | W | T | F | S | S | ||||
| 1 | 2 | 3 | ||||||||
| 4 | 5 | 6 | 7 | 8 | 9 | 10 | ||||
| 11 | 12 | 13 | 14 | 15 | 16 | 17 | ||||
| 18 | 19 | 20 | 21 | 22 | 23 | 24 | ||||
| 25 | 26 | 27 | 28 | 29 | 30 | |||||
|
||||||||||
darf ich fragen, was konkret Du nicht verstehst?
Olaf
aber du kannst die Property als ReadOnly definieren und hättest dann auch den selben Effekt wie in C# mit dem Private Setter.
Gruß Martin
In C# kann ich public string PropertyName { get; private set; } schreiben, dann ist der Setter private.
In VB geht derzeit aber nur als Public deklarieren oder ich muss es explizit ausformulieren, so wie ich es im Blog geschrieben habe.
und dann vor den Name einen Unterstrich setzen.
_myPropertyNeu