Properties in Klasse nach aussen ReadOnly

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

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von Nofear23m.

    Properties in Klasse nach aussen ReadOnly

    Hallo Leute

    Achtung: Es gab kein passendes Label. Es handelt sich um .NET Standard 2.0

    Ich rufe von einem Webservice Daten ab. Diese kommen als Json zurück und werden mit Hilfe von Json.Net automatisch in .Net Klassen umgewandelt.
    Jetzt wollte ich das die Properties in den Klassen ReadOnly sind weil das ändern des Property ja keinen Sinn macht. (Das Webservice kann nur GET. Es kann nicht hochgeladen werden)

    Wenn ich jetzt ein Property ReadOnly setze kann aber auch Json.Net nicht das Property schreiben. Jetzt zu meiner eigentlichen frage:

    Kann ich vieleicht nach außen (in Projekten welche einen Verweis auf die Assembly haben) die Properties ReadOnly machen so das Json.Net dennoch schrieben kann?

    PS: Ich weis, ich könnte jetzt immer zwei Properties machen, eine Private und eine Public ReadOnly aber das sind echt viele Properties, vielleicht kann ich es mir ja sparen.

    Schöne Grüße
    Sascha
    If _work = worktype.hard Then Me.Drink(Coffee)
    Seht euch auch meine Tutorialreihe <WPF Lernen/> an oder abonniert meinen YouTube Kanal.

    ## Bitte markiere einen Thread als "Erledigt" wenn deine Frage beantwortet wurde. ##

    Hi!
    Denke das geht so:

    VB.NET-Quellcode

    1. Private Shared _property As String
    2. Public ReadOnly Property _jsonProperty As String
    3. Get
    4. Return _property
    5. End Get
    6. End Property


    ​und Du musst dann halt statt die Property "_jsonProperty" aufzurufen beim füllen die "_property" nehmen
    Hallo

    Danke für die Antwort.

    Ja, so dachte ich es mir auch, dachte nur das es evtl. irgendeinen Magic-Trick gebe.

    ​Das sind mehr als 400 Properties. Die Klassen habe ich mir ja automatisiert aus dem json erstellen lassen. Jetzt müsste ich an allen Properties Hand anlegen. *langweilig*
    ​Vielleicht hat ja noch jemand eine Idee, sonst muss es ja wohl sein.

    Grüße Sascha
    If _work = worktype.hard Then Me.Drink(Coffee)
    Seht euch auch meine Tutorialreihe <WPF Lernen/> an oder abonniert meinen YouTube Kanal.

    ## Bitte markiere einen Thread als "Erledigt" wenn deine Frage beantwortet wurde. ##

    Direkte Lösung kenne ich auch keine, aber ich kann Dir zwei Tipps geben, wenn Du es doch umschreiben willst:

    1. Code-Snippets: Code Snippet aus Liste

    2. Suchen und Ersetzen mit RegEx:
    Suchen nach: Public Property {:i} As {:i}
    Ersetzen durch: Private _\1 As \2\nPublic ReadOnly Property \1 As \2\nGet\nReturn _\1\nEnd Get\nEnd Property\n



    Code-Snippets sind generell praktisch zu haben, wenn auch etwas umständlich zu erstellen.
    Und einfach stur die normalen Properties in der Datei zu ersetzen sollte bei diesen 400 Properties recht einfach gehen.
    "Luckily luh... luckily it wasn't poi-"
    -- Brady in Wonderland, 23. Februar 2015, 1:56
    Desktop Pinner | ApplicationSettings | OnUtils
    Hallo

    Danke, das mit Codesnippetsmkenne ich. Habe ich auch dchon einige erstellt.
    Aber.... siehste, an Suchen und Ersetzen mittels RegEx habe ich gar nicht gedacht. Top

    Danke dir!
    Oft denkt man viel zu kompliziert.

    Grüße
    Sascha
    If _work = worktype.hard Then Me.Drink(Coffee)
    Seht euch auch meine Tutorialreihe <WPF Lernen/> an oder abonniert meinen YouTube Kanal.

    ## Bitte markiere einen Thread als "Erledigt" wenn deine Frage beantwortet wurde. ##