2010-02-22 14 views
0

J'ai une structure en C++ que je veux refléter dans le code C# (goover tout le champ et initier avec un ordre spécifique) que je veux vider la structure memeory en tant que données binaires dans un fichier . J'ai un problème dans le tableau decleration dans le sturct si je déclare int dummy_4 [10] l'erreur d'élévation du compilateur qui ne peut pas mélanger les types non gérés gérés &. si je supprime comme tableau etc ... et initialise le tableau dans le constructeur, le tableau ne se localise pas après dummy_3 dans la mémoire et je ne peux pas le sauvegarder dans le fichier.Initialiser unmanage struct à partir du code managé (C#)

Vous ne savez pas comment résoudre le problème. Merci

public ref struct Dummy_t 
{ 
    int dummy_1; 
    int dummy_2; 
    int dummy_3; 
//int dummy_4[2]; X compile error mix managed and unmanaged types 
    array<int>^ dummy_4; 
    int dummy_5; 
    Dummy_t() 
    { 
dummy_4 = gcnew array<uint8_t>(2); 
    } 

}; 

Répondre

0

Vous pouvez écrire une méthode de vidage personnalisé dans Dummy_t, qui se soucient de dummy_4, et délivre les valeurs de la chaîne pointée.