Announcement

Collapse
No announcement yet.

Variablennamen einer Klasse "auslesen"

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Variablennamen einer Klasse "auslesen"

    Hallo.

    Ich habe folgende Klasse:

    usingSystem;
    usingSystem.Collections.Generic;

    namespaceezyWerkstatt
    {
    [Serializable]
    publicclassClassKunde
    {

    publicstringName{get;set;}
    publicstringVorname{get;set;}
    publicstringStrasse{get;set;}
    publicstringPLZ{get;set;}
    publicstringOrt{get;set;}

    publicClassKunde()
    {

    }

    publicClassKunde(string_name,string_vorname,string_strasse,string_plz,string_ort)
    {
    Name=_name;
    Vorname=_vorname;
    Strasse=_strasse;
    PLZ=_plz;
    Ort=_ort;
    }
    }
    }

    Jetzt möchte ich die Namen der Variablen der Klasse automatisch in einer Liste speichern. So, dass ich nach dem Durchsuchen in der Liste

    List[0] = "Name"
    List[1] = "Vorname"
    List[2] = "Strasse
    ...
    ...
    ...

    stehen habe. Da ich leider zu selten Zeit zum Programmieren habe fehlt mir hier die Routine und per Google finde ich keine Lösung in Richtung foreach(), oder so. Warscheinlich sehe ich einfach nur den Wald vor Bäumen nicht.

    Gruß
    Jan



  • #2
    https://stackoverflow.com/questions/...hru-reflection
    Christian

    Comment


    • #3
      Etwa

      Code:
      var list = typeof(ClassKunde).GetProperties(BindingFlags.Instance|BindingFlags.Public).Select(x => x.Name).ToList();
      Nur die Namen von Properties in einer Liste zu haben erscheint mir eher weniger hilfreich. Um die für irgendwas zu benutzen fängt man wieder an die per Reflection auf Klassen bzw. Instanzen von Klassen anzuwenden.
      Vielleicht nochmal erzählen warum du das willst dann können wir lenkend/beratend helfen.

      Comment


      • #4
        Hallo.

        Sorry, dass ich erst jetzt darauf reagiere. Ich habe beruflich leider immer wieder extrem viel zutun (bin selbstständig) und kann deswegen zur Zeit leider nur selten an den PC.

        Warum ich das will? Ich will mich spätest mit Windows 10 von Windows und MS verabschieden und kompl. auf Linux umsteigen. Da ich für meine Selbstständigkeit aber eine Fakturasoftware speziell für eine Kfz-Werkstatt brauche und für Linux noch keine gefunden habe, möchte ich mir hier etwas elber entwickeln. Von daher habe ich auf Linux mit Monodevelop + mono und GDK+ angefangen das ganze in C# zu programmieren. Von Visual Studio zu Monodevelop und GDK+ und Linux ist schon ein krasser Umstieg und ich habe, auch wegen des Zeitmagels, noch nicht wirklich eine Community gesucht/gefunden die sich auf Linux damit befasst. Danke erstmal für den Ansatz. Mal sehen ob der auf Linux funktioniert.

        Gruß
        Jan

        Originally posted by Ralf Jansen View Post
        Etwa

        Code:
        var list = typeof(ClassKunde).GetProperties(BindingFlags.Instance|BindingFlags.Public).Select(x => x.Name).ToList();
        Nur die Namen von Properties in einer Liste zu haben erscheint mir eher weniger hilfreich. Um die für irgendwas zu benutzen fängt man wieder an die per Reflection auf Klassen bzw. Instanzen von Klassen anzuwenden.
        Vielleicht nochmal erzählen warum du das willst dann können wir lenkend/beratend helfen.

        Comment


        • #5
          "Ich will mich spätest mit Windows 10 von Windows und MS verabschieden und kompl. auf Linux umsteigen."
          um im nächsten Atemzug
          "Linux mit Monodevelop + mono und GDK+ angefangen das ganze in C#"
          wieder Windows zu wollen

          Warum nicht in Java? Der Unterschied zu C# ist marginal.

          Ist auch keine Antwort auf die Frage von Ralf
          Christian

          Comment


          • #6
            Für Reflection könnte dieses Beispiel helfen: https://www.dotnetperls.com/reflection (spez. "C# program that uses reflection on properties") Und neben C#/Java/.. könnte auch ein Werkzeug wie TypeScript / NodeJS/.. einer Recherche wert sein

            MfG
            Cheat-Sheets for Developers / Programming Quotes

            Comment

            Working...
            X