utilisez MemoryStream

Mon code utilise MemoryStream de sérialiser/désérialiser des objets vers/à partir du réseau. Je tiens à re-utiliser un seul MemoryStream dans ma classe, plutôt que d'en créer un nouveau à chaque fois que j'ai besoin
pour envoyer quelque chose sur le fil.

Personne ne sait comment faire cela?

Extrait de Code:

    //Serialize object to buffer
    public  byte[] Serialize(object value)
    {
        if (value == null)
            return null;
      MemoryStream _memoryStream = new MemoryStream();

        _memoryStream.Seek(0, 0);
        _bf.Serialize(_memoryStream, value);
        return _memoryStream.GetBuffer();
    }

    //Deserialize buffer to object
    public  object Deserialize(byte[] someBytes)
    {         
        if (someBytes == null)
            return null;
        MemoryStream _memoryStream = new MemoryStream();
        _memoryStream.Write(someBytes, 0, someBytes.Length);
        _memoryStream.Seek(0, 0);
        var de = _bf.Deserialize(_memoryStream);
        return de;
    }

Merci!

Quelle est la raison de réutilisation des flux? Il sonne comme une manière assez facile à introduire memoryleaks et difficile à déboguer le code.
+1 sur le commentaire de @Richard. Ne pas le faire, sauf si vous avez présenté le code et trouvé que c'était une prestation ou d'un problème de mémoire.
Merci, les gars. Je suppose que j'ai oublié ce que quelqu'un a dit une fois à propos de l'optimisation prématurée......

OriginalL'auteur Jacko | 2011-01-07