Hi,
ich hab hier eine ArrayList und möchte die Inhalte der Liste binär mit BinaryWriter in eine Datei schreiben.
bw.Write() geht aber nicht mit Objekten sondern nur mit "echten" Typen.
In meiner ArrayList stehen aber unterschiedliche (primitive) Typen wie int, short, byte, bool, string....
Mittels o.GetType() kann ich den Typen ja ermitteln, aber wie kann ich das Object in diesen Typen konvertieren?
Einzige Möglichkeit die mir bis jetzt eingefallen ist, wäre
C#-Quelltext
1: 2: 3: 4: 5: 6: 7:
| foreach(object o in array) { switch(o.GetType()) { case 'int': bw.Write((int) o); case 'short': bw.Write((short) o); .... } } |
Das Beispiel ist nur sinngemäß, wird also so nicht genau funktionieren.
Diese Lösung ist aber ziemlich unflexibel und würde halt auch nur mit den Typen funktionieren, die man im Switch hat.
Es muss doch noch bessere Lösungen geben!!
Nein, ich habe nur .NET 1.1 und kann von daher auch keine Generics benutzen, und nein, ich kriege auch kein .NET 2.0.