Hallo,
ich bin C# Neuling und komme aus der Delphi-Schiene.
Ein sehr wichtige Klasse für mich unter Delphi ist "TStringList".
An eine StringList kann ich String-Items hängen und an jedes Item
unterschiedliche Objekte. Mit einem TypeCast kann ich auf diese Objekte
hinterher wieder zugreifen. (Beispiel unten)
Mit welcher .Net -Klasse realisiere ich das unter C# und vor allem wie? 😃
Delphi Beispiel:
var MyList : TStringList;
LstIX : Integer;
MyObj : TXBelObj;
MyList := TStringList.create; // Liste erzeugen
MyObj := TXBelObj.create; // Objekt erzeugen
LstIX := MyList.AddObject('Mein Objekt',MyObj); //Obj an Liste hän., Indx. zurückgeb.
TXBelObj(MyList.Objects[LstIX]).MethodeDesObjekts; // Zugriff auf Objekt-Methode
Gruß
Sascha
Hi,
soetwas gibt es nicht.
Deinen bedürfnissen eher passend wäre eiN Dictionary.
Du kannst dir natürlich die Mühe machen und zB eine List<DeineKlasse> udn eine eigene Klasse definieren.
Dir steht es auch frei eine eigene Implementation zu machen, ich denke mit dem Dictionary kommst du weiter (Dictionary<string,object>)
Grüße
Hallo Rungholt,
verwende nicht ArrayList, verwende stattdessen List<T>.
zero_x
zero_x | <span style="font-size: 10;">my</span><span style="font-size: 10;">CSharp</span><span style="font-size: 10;">.de</span> - gemeinsam mehr erreichen
Für längere Zeit inaktiv.
Hallo Rungholt,
klingt nach Dictionary<String, DeineKlasse>.
herbivore
Ok, die Klasse Dictionary sieht gut aus. Danke für die Antworten.
Nun komme ich allerdings zum nächsten Problem. Wie führe ich die Methoden des Objektes aus? Beispiel, ich hänge einen zur Designzeit auf das Formular gelegten
Button in das Dictionary und möchte einfach dessen Click ausführen.
Dictionary<string, Button> MyDict = new Dictionary<string, Button>();
MyDict.Add("Button",btnTest);
((Button)MyDict["Button"]).Click; // <-- frisst der Compiler nicht
Click ist keine Methode sondern ein Event des Buttons. Rufe stattdessen die Methode auf die das Event behandelt (bei automatischer Generierung "button_Click") (wobei das in dem Beispiel nicht unbedingt Sinn macht).
Du solltest dir aufjendefall mal das openbook C# anschaune. findest du links im hauptmenü unter dem Punkt Ressourcen.
Das sind Grundlagen, und die werden hier vorrausgesetzt.
Das wird dir warscheinlich gleich auch noch einer der Mods schreiben und dich auf die FAQ hinweise.
Nein, es reicht vollkommen, dass du darauf hingewiesen hast