Hallo Rolf,
Aber wenn dieser ominöse Reader unbedingt einen ref Parameter bei Add sehen will, musst du wohl eine temporäre Variable spendieren und deren Wert nachher im Dictionary speichern.
Das [] des Dictionary ist kein Arrayzugriff, sondern ein Indexer-Property und Propertys lassen sich nicht als Referenz übergeben, weil ein Property ein Trio aus Datenspeicher, Getter und Setter ist. Kein Field. Für ein Field und ein Arrayelement kannst du Referenzen erstellen. Nicht für ein Property.
OK, soweit verstanden. Ja der Reader benötigt unbedingt eine Referenz
Prinzip des "Readers"
Gefüttert wird der Reader über eine Schleife z.B.
Reader.Add(Name1, Adresse_x, ref x)
Reader.Add(Name2, Adresse_y, ref y)
Nach der Schleife gibt es einen einzigen Lesezugriff "reader.read" und alle gelesenen Daten stehen in dem Speicherbereich, den ich als Referenz jeweils pro Reader.Add übergeben habe.
Es darf natürlich nicht die gleiche Referenz sein, sonst werden die Daten überschrieben.
Wie kann ich nun einen Speicher in der Schleife erzeugen, dem dynamisch einen Namen z.B. "Namen1, Temp5, Hansdampf, ...x" geben kann, ich muss den Speicher später wieder zuordnen können und als Referenz an den Reader.Add übergeben, ... pro Reader.Add ein referenzierbarer Speicher (Array)
Wichtig, ich kann mich nicht auf die Reihenfolge verlassen. Die Referenz muss eindeutig zu identifizieren sein. (Ich dachte an ein großes Array und springe mit der ref (ref array[0] beim nächsten ref array[4] usw.)
Ich habe hier überhaupt keine Vorstellung, wie ich das lösen könnte ... so in der Art ..
dynamischer_Name = new byte[100];
oder ein mehrdimensionales Array, [dynamischer_Name][100]
Bin für jede Idee/jeden Tipp dankbar.
Vielen Dank !!!