Wednesday, 27. january 2010 3 27 /01 /Jan. /2010 18:47

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

 

von Olaf Helper - veröffentlicht in: .NET - Community: .NET Development
Kommentar hinzufügen - Kommentare (3)ansehen
Zurück zur Startseite

Kommentare

Also entweder bin ich blöd, aber ich verstehe das einfach nicht!
Kommentarnr1 gepostet von Veronika am 3.02.2010 um 21h17
Hallo Veronika,

darf ich fragen, was konkret Du nicht verstehst?

Olaf
Antwort von Olaf Helper am 4.02.2010 um 08h55
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
Kommentarnr2 gepostet von Martin Oehlert am 11.08.2010 um 09h09

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. 

Antwort von Olaf Helper am 22.10.2010 um 13h11
Public Property myPropertyNeu() as String

und dann vor den Name einen Unterstrich setzen.
_myPropertyNeu
Kommentarnr3 gepostet von fb_frank am 18.11.2010 um 16h30

Über diesen Blog

Kategorien

Kalender

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  
<< < > >>

Syndication (RSS)

  • RSS-Feed der Artikel

Suchen

Blog erstellen

Erstellen Sie einen Blog auf OverBlog - Kontakt - Nutzungsbedingungen - Werbung - Missbrauch melden - Impressum - Artikel mit den meisten Kommentaren