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

VB.NET Discussion :

PRoperty.GetValue "object does not match target type"


Sujet :

VB.NET

  1. #1
    Membre émérite Avatar de mactwist69
    Homme Profil pro
    Développement VB.NET
    Inscrit en
    Janvier 2007
    Messages
    1 707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développement VB.NET
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 707
    Points : 2 528
    Points
    2 528
    Par défaut PRoperty.GetValue "object does not match target type"
    Hello la communauté,

    J'ai un problème bizarre, bizarre parce que c'est du code qui est censé marché et qui à l'air correct.
    LE but de la fonction est de cloner un objet complexe (x variables de type string, integer etc.)

    Je vous remets le code, au cas où quelque chose m'échappe...
    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
     
    Dim objectType As Type = GetType(MonType)
     
    Dim propertyInfos As System.Reflection.PropertyInfo() = objectType.GetProperties((System.Reflection.BindingFlags.Public Or System.Reflection.BindingFlags.Instance))
     
     
    Dim propertyInfo As System.Reflection.PropertyInfo = Nothing
    Dim value As Object = Nothing
     
    For index As Integer = 0 To propertyInfos.Length - 1
     
             propertyInfo = CType(propertyInfos(index), System.Reflection.PropertyInfo)
     
             If (Not propertyInfo Is Nothing AndAlso propertyInfo.CanRead) Then
     
                   value = propertyInfo.GetValue(referenceObject, Nothing)
     
                   'Copy the value in the cloned object
                   propertyInfo.SetValue(clonedObject, value, Nothing)
     
              End If
     
    Next index
     
    Return clonedObject

    et ça plante juste la dessus :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    value = propertyInfo.GetValue(referenceObject, Nothing)
    Avant d'arriver sur la ligne, j'ai mis un EspionExpress sur propertyInfo.GetValue(referenceObject, Nothing)
    Et même l'espion me retourne ça comme erreur...

    Genre, c'est l'appel à la fonction qui plante...

    Alors, que c'est censé marché...
    Si quelqu'un a une idée, merci d'avance
    L'avenir appartient à ceux... dont les ouvriers se lèvent tôt. (Coluche)

  2. #2
    Membre émérite Avatar de mactwist69
    Homme Profil pro
    Développement VB.NET
    Inscrit en
    Janvier 2007
    Messages
    1 707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développement VB.NET
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 707
    Points : 2 528
    Points
    2 528
    Par défaut
    Quand on lit la MSDN :

    L'objet ne correspond pas au type cible ou une propriété est une propriété d'instance, mais obj est null.
    Sauf que GetValue retourne bien un type Object, et ma variable value est bien de type Object.
    Et mon objet n'est aps nul, je mets un espion dessus, je vois bien qu'il y a des données.
    L'avenir appartient à ceux... dont les ouvriers se lèvent tôt. (Coluche)

  3. #3
    Membre émérite Avatar de mactwist69
    Homme Profil pro
    Développement VB.NET
    Inscrit en
    Janvier 2007
    Messages
    1 707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développement VB.NET
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 707
    Points : 2 528
    Points
    2 528
    Par défaut
    Et bien l'erreur était basique (pour pas dire noob).

    Mais l'objet sur lequel j'extrayais objectType était une classe mère:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim objectType As Type = GetType(MonType)
    Tandis que quand je voulais aller chercher la valeur, dans referenceObject, objet fille :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    propertyInfo.GetValue(referenceObject, Nothing)
    Voilà, voilà... Peut être ça aidera quelqu'un, qui sait.
    L'avenir appartient à ceux... dont les ouvriers se lèvent tôt. (Coluche)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Object does not support this property or method
    Par Runsh63 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 31/05/2011, 16h10
  2. Réponses: 1
    Dernier message: 10/05/2006, 12h11
  3. Object does not exist
    Par melmouj dans le forum Langage SQL
    Réponses: 1
    Dernier message: 25/08/2005, 09h25
  4. Réponses: 11
    Dernier message: 08/10/2004, 15h12
  5. [Plugin]package does not match the expected package src
    Par Fladnag dans le forum Eclipse Java
    Réponses: 3
    Dernier message: 10/03/2004, 20h17

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