C++ CLI structure de tableau d'octets

J'ai une structure qui représente un fil de format de paquet. Dans cette structure est un ensemble d'autres structures. J'ai génériques de code qui gère cela très bien pour la plupart des cas, mais ce tableau de structures de cas est de lancer le marshaller pour une boucle.

Code Unsafe est un no go car je ne peux pas obtenir un pointeur vers une struct avec un tableau (argh!).

Je peux le voir dans cette codeproject article qu'il y a un très joli générique approche impliquant C++/CLI qui va quelque chose comme...

public ref class Reader abstract sealed
    {
    public:
        generic <typename T> where T : value class
        static T Read(array<System::Byte>^ data)
        {
            T value;

            pin_ptr<System::Byte> src = &data[0];
            pin_ptr<T> dst = &value;

            memcpy((void*)dst, (void*)src,
                /*System::Runtime::InteropServices::Marshal::SizeOf(T::typeid)*/
                sizeof(T));

            return value;
        }
    };

Maintenant, si juste eu de la structure -> tableau d'octets /écrivain version je serais fixé! Merci à l'avance!

fait-il?

OriginalL'auteur JasonCoder | 2008-12-01