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 :

Réflexion pour récupérer l'opérateur + sur le type int.


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mars 2006
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 13
    Par défaut Réflexion pour récupérer l'opérateur + sur le type int.
    Bonjour,

    Le code suivant me renvoie null :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    typeof(int).GetType().GetMethod("operator+")
    Je cherche à récupérer l'opérateur + ou la méthode pour additionner 2 entier avec la réflexion.
    Quelqu'un peut m'indiquer comment svp ?

    Merci d'avance

    Nara20

  2. #2
    Membre actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2011
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2011
    Messages : 76
    Par défaut
    oui tu peu parser ta chaîne de caractère en utilisant la fonction regex de c#, c'est très simple

  3. #3
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Par défaut
    Bonjour,

    Citation Envoyé par nara20 Voir le message
    Le code suivant me renvoie null :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    typeof(int).GetType().GetMethod("operator+")
    C'est normal, un operateur n'est pas une méthode (même si il existe des méthodes de surcharge d'opérateur, mais c'est autre chose et ne concerne que les types définis par l'utiisateur).

    Quel est le besoin fonctionnel ici ?

    Car :

    Je cherche à récupérer l'opérateur + ou la méthode pour additionner 2 entier avec la réflexion.
    ce n'est pas limpide comme expression de besoin. Quel est le but ici ?

  4. #4
    Membre Expert Avatar de Guulh
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    2 160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2007
    Messages : 2 160
    Par défaut
    Hello,

    t'as essayé d'appeler GetMethods (sans paramètres) pour voir s'il te ramène pas les opérateurs aussi?

    Un peu de google m'amène là: http://dotnet.itags.org/dotnet-tech/116035/
    et là : http://msdn.microsoft.com/en-us/libr..._addition.aspx

  5. #5
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Par défaut
    Citation Envoyé par Guulh Voir le message
    t'as essayé d'appeler GetMethods (sans paramètres) pour voir s'il te ramène pas les opérateurs aussi?
    Ca ne les ramène pas.

    Le cas échéant, ne sont ramenées que les méthodes de surcharges d'opérateurs (qui ne peuvent de toute manière être définies que dans une des classes à gauche ou à droite de l'opérateur).

    Par exemple si dans une class X est surchargé l'opérateur +, GetMethods raménera une méthode dénommée op_Addition. Or, ici la question ne se pose pas.

  6. #6
    Membre Expert Avatar de Guulh
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    2 160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2007
    Messages : 2 160
    Par défaut
    Ah tiens c'est intéressant ça, j'ignorais qu'il y avait des opérateurs natifs et des opérateurs custom En fouillant un peu, je tombe là-dessus: http://stackoverflow.com/questions/1...via-reflection

    Où il est notamment précisé que l'Il a directement un opcode 'add' pour les int32.
    Il n'en a visiblement pas pour les decimaux par contre, comme le montre la page de la MSDN que j'ai linkée tout à l'heure.

    Mais du coup, ça veut dire que le '+' des int32 se situe en dehors du système de type ? Et qu'il n'est pas récupérable par réflexion ?

  7. #7
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Par défaut
    Citation Envoyé par Guulh Voir le message
    Mais du coup, ça veut dire que le '+' des int32 se situe en dehors du système de type ? Et qu'il n'est pas récupérable par réflexion ?
    Tout à fait : c'est un opérateur "natif" sur type intrinsèque; tu ne peux donc pas le récupérer.
    A l'inverse, sur le type DateTime par exemple, tu peux récupérer la méthode op_Addition et l'appeler par la Reflection.

Discussions similaires

  1. Réponses: 6
    Dernier message: 30/06/2010, 19h34
  2. Connexion https pour récupérer un fichier sur serveur web
    Par benibur dans le forum API standards et tierces
    Réponses: 6
    Dernier message: 07/01/2010, 15h26
  3. automate pour récupérer des données sur un site web
    Par castor75 dans le forum Langage
    Réponses: 2
    Dernier message: 24/04/2008, 20h59
  4. Réponses: 4
    Dernier message: 23/07/2007, 14h38
  5. Réponses: 8
    Dernier message: 16/04/2007, 12h05

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