Eh bien, une distribution de myObject
à byte[]
ne fonctionnera jamais à moins d'avoir une conversion explicite ou si myObject
es a byte[]
. Vous avez besoin d'un cadre de sérialisation de certains genre. Il en existe de nombreux, notamment Tampons de protocole qui m'est chère. C'est un endroit assez "maigre" en termes d'espace et de temps.
Vous constaterez que presque tous les cadres de sérialisation ont des restrictions importantes sur ce que vous pouvez sérialiser, cependant - les tampons de protocole plus que d'autres, en raison du fait qu'ils sont multiplateformes.
Si vous pouvez nous donner plus d'informations, nous pourrons vous aider davantage - mais ce ne sera jamais aussi simple que de faire un casting...
EDIT : Juste pour répondre à cela :
J'ai besoin que mon fichier binaire contienne les éléments suivants les octets de l'objet. Seulement les octets, pas de métadonnées. Emballé d'objet à objet. Je vais donc implémenter une sérialisation personnalisée.
N'oubliez pas que les octets contenus dans vos objets sont souvent des références... vous devrez donc déterminer ce qu'il faut en faire.
Je pense que vous découvrirez que la conception et la mise en œuvre de votre propre cadre de sérialisation personnalisé est plus difficile que vous ne l'imaginez.
Je recommanderais personnellement que si vous n'avez besoin de faire cela que pour quelques types spécifiques, vous ne vous embêtez pas à essayer de mettre au point un cadre de sérialisation général. Il suffit d'implémenter une méthode d'instance et une méthode statique dans tous les types dont vous avez besoin :
public void WriteTo(Stream stream)
public static WhateverType ReadFrom(Stream stream)
Une chose à garder à l'esprit : tout devient plus délicat si l'on a recours à l'héritage. Sans héritage, si vous savez avec quel type vous commencez, vous n'avez pas besoin d'inclure d'informations sur le type. Bien sûr, il y a aussi la question du versionnage - devez-vous vous préoccuper de la compatibilité ascendante et descendante avec les différentes versions de vos types ?