Announcement

Collapse
No announcement yet.

Object Variablen Automatisch durch gehen

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

  • Object Variablen Automatisch durch gehen

    Moin,

    Meine Frage:
    Wenn ich eine Klasse habe mit X Variablen. Und eine Objekt Referenz schaffe gibt es eine Möglichkeit meine Variablen in einer Schleife durch zu gehen ?

    Hier mal ein Beispiel:

    Code:
    dim myObject as new IchbineineKlasse
    
    msgbox(myObject.Varibale1.tostring)
    msgbox(myObject.Varibale2.tostring)
    msgbox(myObject.Varibale3.tostring)
    Da dies ja eher Umständlich ist würde es ja so besser sein:

    Code:
    dim myObject as new IchbineineKlasse
    
    for myObject in myObject.VaribaleList
    
    msgbox(myObject.tostring)
    
    next
    Es gibt natürlich keine VariableListe aber so etwas sollte es doch geben oder halt das man sich das selber erstellen kann über eine Dataliste. Ich denke mal das ich einfach viel zu kompliziert denke und es eine einfache Lösung gibt

  • #2
    In .NET erbt alles vom Typ Object und jedes Object hat auch eine Funktion ToString(). Deswegen funktioniert genau das was Du oben beschrieben hast.

    Allerdings muss entweder das Objekt selbst dafür Sorgen dass die richtigen Eigenschaft in der der Liste landen bzw. ein Objekt aus herum die richtige Liste aufbauen. Ich kann Dir leider nur ein Beispiel in C# bauen. Ich hoffe Du bekommst es umgesetzt:

    [highlight=c#]
    public class MyDataClass
    {
    private int _intData = 3;
    private double _doubleData = 3.5;
    private String _stringData = "Hello World!";

    public IList<Object> GetPropertyList()
    {
    List<Object> propertyList = new List<Object>();

    propertyList.Add(_intData);
    propertyList.Add(_doubleData);
    propertyList.Add(_stringData);

    return propertyList();
    }
    }

    //so kannst Du es benutzen
    MyDataClass data = new MyDataClass();

    StringBuilder sb = new StringBuilder("");
    foreach(Object o in data.GetPropertyList())
    {
    sb.Append(o.ToString() + ";");
    }
    [/highlight]

    Comment


    • #3
      Ja super Danke so hatte ich mir das auch schon fast gedacht. Aber wenn man erst mal am herum probieren ist dann geht nach dem 8 mal garnichts mehr weil man sich festgefahren hat

      Das umschrieben macht keine Probleme ich kann ja beides (ist ja eh fast gleich bei den meisten sachen.)

      Danke nochmal

      Comment


      • #4
        Das geht übrigens mit allen Funktionen die in einer Oberklasse/Schnittstelle festgelegt sind wenn die Objekt diese Oberklasse/Schnittstelle implementieren

        Comment

        Working...
        X