-érente.
Bonjour !
Je viens de finir de dev' une petite librairie qui encapsule toutes les fonctions pour communiquer facilement via TCP, cependant je rencontre un petit soucis pour l'échange d'objets personnalisés.
J'ai par exemple une classe Personnage
public class Personnage {
private string nom;
private int age;
}
Cette classe se trouve dans deux assembly différentes mais est absolument identique.
la sérialisation se passe bien via cette méthode :
public static byte[] GetBytes(object obj) {
MemoryStream ms = new MemoryStream();
BinaryFormatter bf = new BinaryFormatter();
bf.Serialize(ms, obj);
return ms.ToArray();
}
En revanche quand je veux récupérer l'objet de l'autre coté ...
public static object GetObject(byte[] byteObject) {
MemoryStream ms = new MemoryStream(byteObject);
BinaryFormatter bf = new BinaryFormatter();
object obj = bf.Deserialize(ms);
ms.Close();
return obj;
}
J'ai une exception à object obj = bf.Deserialize(ms);
http://puu.sh/dbZ9z/04d8c08d51.png
"CASERVER" est l'assembly de l'objet source où la sérialisation a été faîte ...
Je me dis que l'erreur vient que même si l'objet est identique, le fait qu'il ne soit pas dans la même assembly fait que justement il n'est pas réellement identique, d'où l'erreur. Ai-je juste ?
Quelle solution s'offre à moi ?
Merci.