begin process at 2010 02 10 05:51:38
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C#

 > 

Mono

 > 

Général

 > 

FieldInfo et "fixed" dans une structure


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

FieldInfo et "fixed" dans une structure

lundi 28 janvier 2008 à 09:22:42 | FieldInfo et "fixed" dans une structure

pcayrol

Bonjour,

J'ai la structure suivante :
[CODE]
unsafe public struct TEST_STRUCT
{
   public Int32          Attr1;
   public fixed bool    Attr2[3];
}
[/CODE]

Je veux parser cette structure via un FieldInfo et récupérer les types de variables et valeurs de chaque attribut...

Mon code :
[CODE]
unsafe
            {
                TEST_STRUCT test;

                test.Attr1 = 0;
                test.Attr2[0] = true;
                test.Attr2[1] = false;
                test.Attr2[2] = true;

                foreach (FieldInfo info in typeof(TEST_STRUCT).GetFields())
                {
                    object instanceCurrent = info.GetValue(test);

                    Console.WriteLine("{0,50}\t:\t{1,30}\t:\t{2,5}", info.Name, info.FieldType.FullName, info.GetValue(test));

                    object[] attr = info.GetCustomAttributes(typeof(System.Runtime.CompilerServices.FixedBufferAttribute), false);
                    if (attr.Length > 0)
                    {
                        System.Runtime.CompilerServices.FixedBufferAttribute bufattr = (System.Runtime.CompilerServices.FixedBufferAttribute)attr[0];
                        Console.WriteLine("Member '{0}' is a fixed buffer with {1} elements of {2}", info.Name, bufattr.Length, bufattr.ElementType);
                    }
                }
            }
[/CODE]

J'y arrive facilement sur un attribut de type bool : je récupère le FieldInfo suivant : {[U]Type :[/U] Int32, [U]Name :[/U] Attr1} et le getValue fonctionne...

Par contre pour un tableau, j'ai le souci suivant : je récupère le FieldInfo suivant : {[U]Type :[/U] <Attr2>e__FixedBuffer0, [U]Name :[/U] : Attr2}...

J'arrive à choper le type du tableau avec un GetCustomAttributes(...) mais je ne sais pas comment faire pour récupérer les valeurs de chaque indice du tableau. :cry:

Sauriez vous le faire ?  ;)

Merci.

Pascal
lundi 28 janvier 2008 à 09:59:44 | Re : FieldInfo et "fixed" dans une structure

sebmafate

Membre Club Administrateur CodeS-SourceS
Pour récupérer la valeur des éléments du tableau, si mes souvenirs sont bons, tu dois pouvoir passer un paramètre à la méthode GetValue de l'objet PropertyInfo.

--> [ Lien ]

exemple : pi.GetValue( monObject, new object[] { 1 } );
pour récupérer la valeur à l'index 1


Sébastien FERRAND (blog)
Consultant Indépendant
[Microsoft Visual C# MVP]
dimanche 3 février 2008 à 20:58:01 | Re : FieldInfo et "fixed" dans une structure

ShareVB

salut,

le prb dans ce cas, c'est peut être surtout le unsafe et le fixed. par contre, normalement, si tu fais un GetValue simple, tu dois récupérer une instance du tableau contenu dans la structure...

ShareVB


Cette discussion est classée dans : code, test, info, attr2, fieldinfo


Répondre à ce message

Sujets en rapport avec ce message

recuperation de donnée [ par Online ] Bonjour, voila, j'ai réalisé un prog qui se connecte à un FTP via des commandes DOS, mais j'aimerais bien récupérer ls informations renvoyées par le s Connect a SQL Server [ par fdouieb ] Bonjour,J'utilise C# depuis quelques mois. Cependant c'est uniquement la partie Windows Form que avait attiré mon attention dans un premier temps. Mai Réflection et héritage [ par bigflo93 ] Salut a tous :) Je fais de la reflection. Donc je cherche entre autre à récuperer les variables et leurs valeurs...Mais ue pb se pose quand j'ai une info sur une fonction et un panel [ par mattiussi ] bonjour j'aurrait une petite question qui conserne les panels voila en faite j'ai une fonction qui crée par le code des controles (trackbar,label,etc. Reflexion et Cast [ par pcayrol ] Bonjour,Je récupère un pointeur [I][B]pointeurManaged [/B][/I]sur un structure non managée (déclarée et initialisée dans une dll) via une méthode Get_ Test sur Fichier [ par piep14 ] Bonjour je dois faire un test sur l'existence d'un fichier. Je fais comme ceci : Code: if (File.Exists("config.xml")) { } Fonction IndexOf qui n'existe pas !!!!!!! [ par crenaud76 ] Je vous laisse méditer sur ce bout de code ... et dans la mesure du possible éclairer ma lanterne pour que je comprennes ce qui ne va pas !!!! using Imprimer une page aspx à partir d'un code C# [ par WishhhMaster ] Bonjour, Je cherche à imprimer une page HTML directement au format paysage, à la suite d'un simple click sur un bouton (c'est pour l'intranet d'une e FontStyle test de la valeur [ par Globinours ] Comment savoir de quoi est composé un FontStyl! Par exemple si le style est Italique et Souligné comment faire pour le savoir ^^ Packaging MSI et custom actions [ par titeoe ] Bonjour, Je travaille actuellement sur un package de déploiement d'assemblys pour un EAI (BizTalk Serevr 2004) .Mon package est tres simple : a l'inst


Nos sponsors


Sondage...

Comparez les prix


HTC Hero

Entre 550€ et 550€

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,842 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales