Overblog Folge diesem Blog
Edit post Administration Create my blog
Blog von Olaf Helper

Property Getter Setter in VisualBasic.NET 2010

27. Januar 2010 , Geschrieben von Olaf Helper Veröffentlicht in #.NET

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.

VbProperty.jpg

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 

 

Diesen Post teilen

Repost 0

Kommentiere diesen Post

fb_frank 11/18/2010 16:30


Public Property myPropertyNeu() as String

und dann vor den Name einen Unterstrich setzen.
_myPropertyNeu


Martin Oehlert 08/11/2010 09:09


Hi,

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


Olaf Helper 10/22/2010 13:11



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. 



Veronika 02/03/2010 21:17


Also entweder bin ich blöd, aber ich verstehe das einfach nicht!


Olaf Helper 02/04/2010 08:55


Hallo Veronika,

darf ich fragen, was konkret Du nicht verstehst?

Olaf