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

Linq Discussion :

Fonction concat avec une expression


Sujet :

Linq

  1. #1
    Membre actif Avatar de chris81
    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    626
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 626
    Points : 298
    Points
    298
    Par défaut Fonction concat avec une expression
    bonjour,

    j'ai

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    ParameterExpression param = Expression.Parameter(typeof(Enregistrement), "enregistrement");
     
    Expression left = Expression.Property(param, typeof(Enregistrement).GetProperty("tabZero"));
    Expression right = Expression.Property(param, typeof(Enregistrement).GetProperty("tabUn"));
     
    Expression expr = Expression.Call(typeof(String).GetMethod("Concat"),new Expression[]{ left, right});
    j'ai cette erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    {"Correspondance ambiguë trouvée."}
    Sauriez vous d'ou cela peut venir ?

    cordialement,

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    Ca veut dire que tu as 2 éléments (types, variables...) qui ont le même nom, et le compilateur ne sait pas lequel prendre. Il faut que tu précises this.membre ou namespace.type pour lever l'ambigüité

  3. #3
    Membre actif Avatar de chris81
    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    626
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 626
    Points : 298
    Points
    298
    Par défaut
    En fait ds le GetMethod il manquait un parametre, il fallait

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     Expression left = Expression.Property(param, typeof(Enregistrement).GetProperty("tabZero"));
                Expression right = Expression.Property(param, typeof(Enregistrement).GetProperty("tabUn"));
                Expression separateur = Expression.Constant(" : ");
     
                Expression expr = Expression.Call(typeof(String).GetMethod("Concat", new[] { typeof(string), typeof(string), typeof(string) }), new Expression[] { left, separateur, right });

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

Discussions similaires

  1. [RegEx] Difficultés avec une expression réguliere
    Par saint-pere dans le forum Langage
    Réponses: 10
    Dernier message: 24/06/2006, 13h47
  2. Problème avec une expression rationnelle.
    Par Pragmateek dans le forum Collection et Stream
    Réponses: 2
    Dernier message: 11/06/2006, 20h34
  3. [RegEx] probleme avec une expression reguliere
    Par SharKeR dans le forum Langage
    Réponses: 9
    Dernier message: 07/04/2006, 16h50
  4. [debutant]fonction "split" avec une chaine comme m
    Par EpOnYmE187 dans le forum Débuter
    Réponses: 2
    Dernier message: 07/11/2005, 22h46
  5. fonctions stockées avec une table en argument
    Par bdkiller dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 08/10/2004, 23h17

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