IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

utilisation de gettype


Sujet :

C#

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    352
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 352
    Par défaut utilisation de gettype
    Bonsoir,
    Voici mon problème, je désire afficher les propriétés d'une classe grâce à la réflection en utilisant GetType() puis Type.GetProperties()
    Je rencontre un premier problème au niveau de la réflection . En effet le code suivant fonctionne bien par exemple pour "System.IO.Directory" mais me retourne pour "System.Windows.RoutedEvent" l'exception suivante :
    "L'exception System.NullReferenceException n'a pas été gérée
    Message=La référence d'objet n'est pas définie à une instance d'un objet.
    Source=ConsoleApplication1
    StackTrace:
    à ConsoleApplication1.Program.Main(String[] args) dans C:\Documents and Settings\michel\Local Settings\Application Data\Temporary Projects\ConsoleApplication1\Program.cs:ligne 19
    à System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args)
    à System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
    à Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
    à System.Threading.ThreadHelper.ThreadStart_Context(Object state)
    à System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean ignoreSyncCtx)
    à System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
    à System.Threading.ThreadHelper.ThreadStart()
    InnerException:
    voici le petit programme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
     
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Windows;
    using System.Windows.Media;
    using System.Reflection;
    using System.IO;
     
     
    namespace ConsoleApplication1
    {
        class Program
        {
            static void Main(string[] args)
            {
     
                Type type1 = Type.GetType("System.Windows.RoutedEvent"); ;
               string dd = type1.FullName;
               Console.WriteLine(dd);
     
                Console.ReadLine();
     
     
     
            }
        }
    }
    Pourriez-vous m'éclairer sur le sujet ?

    Merci.

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Août 2010
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : Août 2010
    Messages : 39
    Par défaut
    en utilisant la surcharge suivante de GetType

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Type type1 = Type.GetType("System.Windows.RoutedEvent", true, true );
    tu obtiens l'erreur:
    Impossible de charger le type 'System.Windows.RoutedEvent' à partir de l'assembly 'ConsoleApplication1, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'.
    Donc, en utilisant les autres surcharges de gettype (avec assemblyResolver etc etc) tu devrais pouvoir résoudre ton problème.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    352
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 352
    Par défaut
    Merci , mais en ragardant des exemple je me suis aperçu que certains utilisait dans le GetType le PublicKeyToken de la classe
    Comment peut-on l'obtenir ?

Discussions similaires

  1. utiliser les tag [MFC] [Win32] [.NET] [C++/CLI]
    Par hiko-seijuro dans le forum Visual C++
    Réponses: 8
    Dernier message: 08/06/2005, 15h57
  2. Réponses: 4
    Dernier message: 05/06/2002, 14h35
  3. utilisation du meta type ANY
    Par Anonymous dans le forum CORBA
    Réponses: 1
    Dernier message: 15/04/2002, 12h36
  4. [BCB5] Utilisation des Ressources (.res)
    Par Vince78 dans le forum C++Builder
    Réponses: 2
    Dernier message: 04/04/2002, 16h01
  5. Réponses: 2
    Dernier message: 20/03/2002, 23h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo