PDA

View Full Version : CEntryList Syntax?



tvd
28-11-2011, 14:49
Moin,

mit folgendem Code habe ich scheinbar eine Liste erstellt, ich brech mir aber grad den Hals beim Versuch die wieder auszulesen.
Kann mir da jemand den Knoten aus dem Hirn nehmen?


Var l_point1 As New SPoint(241, 161);
Var l_point2 As New SPoint(242, 162);
Var l_text As String;
Var liste As New CEntryList();

l_text = 'Hallo Punkt 1';
liste.Add(l_point1, l_text);
l_text = 'Hallo Punkt 2';
liste.Add(l_point2, l_text);

ScriptContext.WriteAppLog(liste.Count); // Gibt 2 aus, wie erwartet.
// und wie geb ich die Punkte und die Texte aus?

ker
28-11-2011, 15:43
liste.GetEnumerator() in eine variable e speichern, ne while(e.MoveNext())
und dann immer e.Current in eine entsprechende variable speichern.

oder mit liste.Item(index).Value direkt auf elemente zugreifen.

tvd
28-11-2011, 16:01
Habs! Danke! Ich hab immer versucht dem Objekt direkt das Property value abzulesen :oops: .
Wen's interessiert, hier noch mal das funzende Testscript:

Var l_point1 As New SPoint(241, 161);
Var l_point2 As New SPoint(242, 162);
Var l_text As String;
Var liste As New CEntryList();
Var l_enum As IEnumerator;
Var l_ausgelesen As DictionaryEntry;


l_text = 'Hallo Punkt 1';
liste.Add(l_point1, l_text);
l_text = 'Hallo Punkt 2';
liste.Add(l_point2, l_text);

ScriptContext.WriteAppLog(liste.Count);
ScriptContext.WriteAppLog(liste.item(1).Value);
l_enum = liste.GetEnumerator();
l_enum.MoveNext();
l_ausgelesen = l_enum.Current;
ScriptContext.WriteAppLog(l_ausgelesen.Value);