LINQ unable to cast object [Résolu]

Messages postés
3244
Date d'inscription
jeudi 26 novembre 2009
Dernière intervention
13 décembre 2018
-
Bonjour,

J'ai la class Info
public    Class info   
          public name as string
           public day as string
           public  thedate as string
end class
et 
public listA as new list of(info)
private function FillListA as list of(info)
  'bla bla
end function
public function Query  as  list of(info)
  listA = FillListA()
  dim  listinfo  = From evenement  in listA where evenement.name .contains("toto")  and evenement.day = "monday" and evenement.thedate = " 4 july" select evenement
 return listinfo
end function</code >

déjà une erreur  a la ligne  <code>return listinfo

le correcteur marque
Return CType(listinfo, Global.System.Collections.Generic.List(Of info))
Mais quand je lance j'obtiens l'erreur
Unable to cast object of type 'WhereSelectListIterator`2[info,info]' to type 'System.Collections.Generic.List`1info]'.

merci d'avance
Afficher la suite 

Votre réponse

3 réponses

Messages postés
12406
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
16 décembre 2018
0
Merci
Bonsoir
merci de poster ton code lisiblement en appliquant la procédure décrite ici
https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
cs_ShayW
Messages postés
3244
Date d'inscription
jeudi 26 novembre 2009
Dernière intervention
13 décembre 2018
-
Bonsoir
On ne peut pas modifier le post original l'icon crayon "modifier" n'apparait pas
Commenter la réponse de Whismeril
Messages postés
3244
Date d'inscription
jeudi 26 novembre 2009
Dernière intervention
13 décembre 2018
0
Merci
public    Class info   
          public name as string
           public day as string
           public  thedate as string
end class

et
public listA as new list of(info)
private function FillListA as list of(info)
  'bla bla
end function

public function Query  as  list of(info)
  listA = FillListA()
  dim  listinfo  = From evenement  in listA where evenement.name .contains("toto")  and evenement.day = "monday" and evenement.thedate = " 4 july" select evenement
 return listinfo
end function


déjà une erreur a la ligne
return listinfo


le correcteur marque
Return CType(listinfo, Global.System.Collections.Generic.List(Of info))
Mais quand je lance j'obtiens l'erreur
Unable to cast object of type 'WhereSelectListIterator`2[info,info]' to type 'System.Collections.Generic.List`1info]'.
Commenter la réponse de cs_ShayW
Messages postés
12406
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
16 décembre 2018
0
Merci
Une requête linq retourne un IEnumerable(of. ) comme ta méthode est définie comme retournant une List(of ) listinfo doit être une List.
Il suffit donc de caster listinfo en List:
Return listinfo.ToList()
à condition bien sûr que ListA contienne des « info »
Commenter la réponse de Whismeril

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.