Klassenstruktur

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von RodFromGermany.

    Klassenstruktur

    Hallo zusammen,

    habe mir gestern VS2017 installiert. Vorher hatte ich VS2015.

    Bei folgendem Code stellt VS2017 die Variablen Deklaration Private in heller Schrift dar und schreibt Automatisch generierte Eigenschaft verwenden. Hat sich da irgend etwas geändert was ich nicht mitbekommen habe. Die Struktur des folgenden Codes hab ich so aus Büchern gelernt.

    VB.NET-Quellcode

    1. Public Class AllFilesVBTXTDB
    2. Inherits BindingList(Of AllFilesVBTXTDB)
    3. Private myFile As String = ""
    4. Private myCTS As String = ""
    5. Private myCounter As Integer = 0
    6. Public Sub New(ByVal strFile As String, ByVal strCTS As String, ByVal intCounter As Integer)
    7. myFile = strFile
    8. myCTS = strCTS
    9. myCounter = intCounter
    10. End Sub
    11. Public Property File() As String
    12. Get
    13. Return myFile
    14. End Get
    15. Set(ByVal Value As String)
    16. myFile = Value
    17. End Set
    18. End Property
    19. Public Property CTS() As String
    20. Get
    21. Return myCTS
    22. End Get
    23. Set(ByVal Value As String)
    24. myCTS = Value
    25. End Set
    26. End Property
    27. Public Property Counter() As Integer
    28. Get
    29. Return myCounter
    30. End Get
    31. Set(ByVal Value As Integer)
    32. myCounter = Value
    33. End Set
    34. End Property
    35. End Class
    @Manfred_62 Das ist egal, die Funktionalität ist dieselbe.
    Die neue IDE erkennt, dass der Code dem entspricht, was der Prä-Compiler aus Deinem Code machen würde.
    Ausgangspunkt wäre z.B.:

    VB.NET-Quellcode

    1. Public Class AllFilesVBTXTDB
    2. Inherits BindingList(Of AllFilesVBTXTDB)
    3. Public Sub New(ByVal strFile As String, ByVal strCTS As String, ByVal intCounter As Integer)
    4. Me.File = strFile
    5. Me.CTS = strCTS
    6. Me.Counter = intCounter
    7. End Sub
    8. Public Property File() As String
    9. Public Property CTS() As String
    10. Public Property Counter() As Integer
    11. End Class
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    @RodFromGermany
    Ah, verstehe. Bedeutet, wenn ich die Standard Get und Set verwenden würde kann ich das in der Kurzform schreiben. Würde ich beim Get einen bearbeiteten Wert zurückgeben müsste ich wieder über die private Variable gehen.

    VB.NET-Quellcode

    1. Public Class AllFilesVBTXTDB
    2. Inherits BindingList(Of AllFilesVBTXTDB)
    3. Private myFile As String = ""
    4. Public Sub New()
    5. End Sub
    6. Public Sub New(ByVal strFile As String, ByVal strCTS As String, ByVal intCounter As Integer)
    7. myFile = strFile
    8. CTS = strCTS
    9. Counter = intCounter
    10. End Sub
    11. Public Property File() As String
    12. Get
    13. Return myFile & ".txt"
    14. End Get
    15. Set(ByVal Value As String)
    16. myFile = Value & ".pdf"
    17. End Set
    18. End Property
    19. Public Property CTS() As String
    20. Public Property Counter() As Integer
    21. End Class
    @Manfred_62 So ist es.
    In C# sieht das etwas freundlicher aus:

    C#-Quellcode

    1. public string A { get; set; }
    2. public string B { get; private set; }
    3. public string C { private get; set; }
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!