Désérialisation d'un tableau d'octets

Si je voulais remplir une structure à partir d'un fichier binaire, je voudrais utiliser quelque chose comme ceci:

using (BinaryReader br = new BinaryReader(File.Open(filename, FileMode.Open)))
{
    myStruct.ID = br.ReadSingle();
    myStruct.name = br.ReadBytes(20);
}

Cependant, je dois lire tout le fichier dans un tableau d'octets avant la désérialisation, parce que je veux faire un pré-traitement. Est-il géré façon de remplir ma structure à partir du tableau d'octets, de préférence similaire à celui ci-dessus?

source d'informationauteur Joulukuusi