none
(C#) Was meint man mit Lesegeschützte Eigenschaft? RRS feed

  • Frage

  • Hallo,

    was meint man mit Lesegeschützte Eigenschaft? 

    Ich weiß wie man es macht und warum es verwendet wird.

    Aber wie löst man es aus?

    Also in einer WriteLine Methode?

    Vielen Dank

    Sonntag, 28. Dezember 2014 17:05

Antworten

Alle Antworten

  • Du hast einen Thread mit fast dem selben Titel wie dem vorherigen eröffnet mit einer ähnlichen Frage...

    Kleine Information, du kannst eine Eigenschaft nicht auslösen. Du kannst z.B. Events auslösen, aber das sind andere Welten...

    Wenn du eine Eigenschaft hast, dann kannst du diese mittels <Instanz>.<Eigenschaft>

    Beispiel:

    class A { pirvate int _id; public int ID { //get { return _id; //nicht vorhanden, da nicht gelesen werden soll set { _id = value; } } public A(int id) { this.ID = id; } } // .... void testWork() { A oA = new A(102);

    //Wenn ID lesbar wäre, würde dies gehen...

    //Das sezten funktioniert wie folgt:

    oA.ID = 999;

    Console.WriteLine(oA.ID); //oder Console.WriteLine(oA.ID.ToString()); //oder Console.WriteLine("ID: {0}", oA.ID); }



    © 2015 Thomas Roskop


    Sonntag, 28. Dezember 2014 17:14
  • Hallo,
    lesegeschützte Eigenschaften werden einfach ohne Getter deklariert:
    int x=0;
    public int X{
      set{
        this.x=value;
      }
      //kein get
    }
    Das ist halt eine Eigenschaft, die man nur setzen, aber nicht lesen kann. Mehr gibt es dazu nicht zu sagen. "Auslösen" kann man da auch nichts.

    Tom Lambert - C# MVP
    Wozu Antworten markieren und für Beiträge abstimmen? Klicke hier.
    Nützliche Links: .NET Quellcode | C# ↔ VB.NET Konverter | Account bestätigen (Verify Your Account)
    Ich: Webseite | Code Beispiele | Facebook | Twitter | Snippets

    Sonntag, 28. Dezember 2014 17:15
    Moderator
  • Interessant wäre noch anzumerken das man den getter/setter unterschiedliche Zugriffsmodifizierern verpassen kann.
    Mehr zu Zugriffsmodifizierern findest du in der MSDN Dokumentation zu C#. Leider kann ich (noch) keine Links posten.
    Sonntag, 28. Dezember 2014 19:30