ERLEDIGT
NEIN
NEIN
ANTWORTEN
6
6
ZUGRIFFE
334
334
EMPFEHLEN
-
Hallo,
weiß jemand wie man objekte die nicht serializierbar (also nicht als [Serializable()] gekennzeichnet) sind in einen ByteArray umwandelt? Im diesem Fall eine DataRow.
Danke,
Grüße Snowcrack
-
Hi
Das könnte dir weiterhelfen: http://www.codeproject.com/Purgatory...yConverter.aspGrüße Nico
----------------------
Xing
----------------------
Zitat von Mark Twain (1835-1910)
Zitat von Mike Wilson - Biographie über Larry Ellison (CEO Oracle)
-
Danke für die schnelle Antwort.
Leider geht das in meinem Fall auch nicht, da die Objekte für diese Methode auch serialisierbar sein müssen.
Hat noch jemand eine Idee
-
19.09.07 13:38 #4
- Registriert seit
- Jun 2002
- Ort
- Saarbrücken (Saarland)
- Beiträge
- 9.886
- Blog-Einträge
- 29
Hallo,
das kannst du über einen MemoryStream machen...:
Code csharp:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69
using System; using System.Collections.Generic; using System.Text; using System.IO; using System.Runtime.Serialization.Formatters.Binary; namespace De.Tutorials.Training { public class ObjectToByteArrayExample { public static void Main(string[] args) { KeyValue<string, string> keyValue = new KeyValue<string, string>("Foo","Bar"); Console.WriteLine(keyValue + " " + keyValue.GetHashCode()); byte[] data = ToByteArray(keyValue); object o = ToObject(data); keyValue = (KeyValue<string, string>)o; Console.WriteLine(keyValue + " " + keyValue.GetHashCode()); } private static object ToObject(byte[] data) { MemoryStream memoryStream = new MemoryStream(data); BinaryFormatter binaryFormatter = new BinaryFormatter(); memoryStream.Position = 0; return binaryFormatter.Deserialize(memoryStream); } private static byte[] ToByteArray(Object o) { MemoryStream memoryStream = new MemoryStream(); BinaryFormatter binaryFormatter = new BinaryFormatter(); binaryFormatter.Serialize(memoryStream, o); memoryStream.Position = 0; return memoryStream.GetBuffer(); } } [Serializable] class KeyValue<TKey,TValue> { public TValue Value { get { return @value; } set { @value = value; } }private TValue @value; public TKey Key { get { return key; } set { key = value; } } private TKey key; public KeyValue(TKey key, TValue value) { this.key = key; this.value = value; } public override string ToString() { return Key +": " + Value; } } }
Dazu müssen deine Objekte allerdings Serilizable sein... wenn sie das nicht sind musst du dir da selber was über Reflection bauen. Falls auch XML eine alternative ist würde ich die schnelle XML Serialisierung per XStream empfehlen:
http://code.google.com/p/xstream-dot-net/
Gruß TomJava rocks!
How to become a good Java Programmer?
Does IT in Java and .Net
The only valid measurement of code quality: WTFs / minute
Blog
Xing
Twitter
-
Danke...
Mein Objekt ist eine DataRow. Also nicht Serilizable....
Ich denke dann muss ich einen anderen Lösungsansatz suchen.
Gruß Snowcrack
-
http://www.thescripts.com/forum/thread428482.html
Ein Möglichkeit wäre aber, die Werte in eine ArrayList zu packen und diese zu serialisierenGrüße Nico
----------------------
Xing
----------------------
Zitat von Mark Twain (1835-1910)
Zitat von Mike Wilson - Biographie über Larry Ellison (CEO Oracle)
-
Ja, dass hab ich mir auch schon gedacht...
Wenn ich keine andere Möglichkeit finde werde ich es so machen.
Danke
Gruß
Ähnliche Themen
-
ByteArray to ImageData
Von MySelV im Forum Swing, Java2D/3D, SWT, JFaceAntworten: 2Letzter Beitrag: 11.02.10, 10:21 -
JPG in Bytearray und zurück
Von Chris1079 im Forum Swing, Java2D/3D, SWT, JFaceAntworten: 2Letzter Beitrag: 17.03.08, 13:31 -
ZipFIle ByteArray
Von zerix im Forum JavaAntworten: 5Letzter Beitrag: 09.08.07, 09:20 -
ByteArray wegschreiben
Von Reen_sc im Forum JavaAntworten: 0Letzter Beitrag: 25.10.06, 15:54 -
ByteArray in JarFile
Von kleinis_1 im Forum JavaAntworten: 0Letzter Beitrag: 12.12.05, 11:44





Zitieren


Login





