Instanz in Byte-Array umwandeln
-
Wie wandelt man eine Instanz (egal welcher Typ) in ein Byte-Array und wie kann ich das wieder rückgängig machen?
Zum Beispiel um eine Color-, Int64-, String-, Stream- oder ...-Instanz in ein Stream zu laden oder um einfach die einzelnen Bytewerte zu modifizieren
Danke schon mal… bin echt verzweifelt
Eine Lösung in dieser Art wäre echt super!
public Byte[] GetBytes(Object o) { ... } public Object GetObject(Byte[] b, Type t) { ... }
-
Serialisiere es in einen MemoryStream, diesen kannst Du anschließend mit ToArray in ein byte Array wandeln.
-
Das klingt ersmal nicht schlecht!
Aber wie bekomm ich denn zum Beispiel meine Color Instanz in den Stream? (es sollen alle Klassen verwendbar sein die von Object abgeleitet sind ;)... also wirklich alles)PS: Sie müssen dann auch wieder aus dem Stream geladen werden können
-
Color clr = Color.Red; BinaryFormatter formatter = new BinaryFormatter(); MemoryStream ms = new MemoryStream(); formatter.Serialize(ms, clr); byte[] bytes = ms.ToArray(); Color newOldColor = (Color)formatter.Deserialize(new MemoryStream(bytes));
-
Super Super Super
Das hab ich gesucht... DANKE
-
Ja jetzt funktioniert alles!!! :p
... noch mals danke