Précédent   Forum des professionnels en informatique > Dotnet > Accès aux données > Linq
Linq Forum d'entraide sur la manipulation de données avec Linq
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 28/10/2011, 16h02   #1
Invité régulier
 
Inscription : novembre 2004
Messages : 50
Détails du profil
Informations forums :
Inscription : novembre 2004
Messages : 50
Points : 7
Points : 7
Par défaut Linq et constructeur avec paramètre

Bonjour à tous,

Je tente désepérement de faire une liste d'objets ayant un consctructeur prenant deux paramètres en charge.

ses deux paramètres sont bien evidemment en private sur la classe en question et le seul poyen d'y accéder c'est par ce constructeur.


Est t'il vraiment impossible en Linq de créer des objets avec un constructeur spécifique, est t'on obligé de passer à chaque fois par le constructeur basique?
ighost est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/10/2011, 16h30   #2
Modérateur
 
Avatar de Er3van
 
Homme Clément
Architecte Logiciel
Inscription : avril 2008
Messages : 1 357
Détails du profil
Informations personnelles :
Nom : Homme Clément
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Architecte Logiciel
Secteur : Industrie

Informations forums :
Inscription : avril 2008
Messages : 1 357
Points : 2 062
Points : 2 062
Peux-tu expliciter ta demande par un bout de code ?
On parle de Linq to Objects ? Linq to Entities ?
__________________
One minute was enough, Tyler said, a person had to work hard for it, but a minute of perfection was worth the effort. A moment was the most you could ever expect from perfection.

-- Chuck Palahniuk, Fight Club, Chapter 3 --
Er3van est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/10/2011, 16h42   #3
Invité régulier
 
Inscription : novembre 2004
Messages : 50
Détails du profil
Informations forums :
Inscription : novembre 2004
Messages : 50
Points : 7
Points : 7
de linqtoentities mais qui crée une liste d'objet, voici ma fonction linq (qui plante evidemment) :

Code :
1
2
_ListOfControls = (From control In _Session.dbentities.Controls
                         Select New HtmlControl(_Session, control.Id)).ToList

dbentities étant l'entité la classe HtmlControl contenant un constructeur avec 2 champs, le premier qui récupère l'objet session(_session) et le deuxième qui récupère l'id nécessaire pour construire l'objet HtmlControl.

Le tout étant mis dans une liste de control : _ListOfControls
ighost est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/10/2011, 19h06   #4
Membre Expert
 
Avatar de GuruuMeditation
 
Homme Olivier Matis
Software Architect
Inscription : octobre 2010
Messages : 767
Détails du profil
Informations personnelles :
Nom : Homme Olivier Matis
Âge : 37
Localisation : Belgique

Informations professionnelles :
Activité : Software Architect
Secteur : Conseil

Informations forums :
Inscription : octobre 2010
Messages : 767
Points : 1 577
Points : 1 577
Envoyer un message via MSN à GuruuMeditation
Je ne comprends pas bien la question. HTMLControl n'a pas de constructeur avec 2 variables (System.Web.UI.HtmlControls.HtmlControl). Si tu veux en créer un, pour assigner des variables protected, il faut alors faire une classe dérivée de HTMLControl.
__________________
Microsoft MVP : Visual C#

MCPD - Windows Developer 4
MCPD - Web Developer 4
MCTS - Silverlight 4, Development

“If debugging is the process of removing bugs, then programming must be the process of putting them in.”
(Edsger W. Dijkstra)
GuruuMeditation est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/10/2011, 13h43   #5
Invité régulier
 
Inscription : novembre 2004
Messages : 50
Détails du profil
Informations forums :
Inscription : novembre 2004
Messages : 50
Points : 7
Points : 7
Dans mon cas HtmlControl est une classe que j'ai créé donc rien a voir avec System.Web.UI.HtmlControls.HtmlControl.
je remet le bout de code avec des noms plus explicites:

Code :
1
2
 _ListOfControls = (From control In _Session.dbentities.Controls
                         Select New MonControl(_Session, control.Id)).ToList
ighost est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/10/2011, 18h50   #6
Membre Expert
 
Avatar de GuruuMeditation
 
Homme Olivier Matis
Software Architect
Inscription : octobre 2010
Messages : 767
Détails du profil
Informations personnelles :
Nom : Homme Olivier Matis
Âge : 37
Localisation : Belgique

Informations professionnelles :
Activité : Software Architect
Secteur : Conseil

Informations forums :
Inscription : octobre 2010
Messages : 767
Points : 1 577
Points : 1 577
Envoyer un message via MSN à GuruuMeditation
Je suis en C#, mais je n'ai aucun problème avec un code similaire au tien. Tu arrives à appeler le constructeur sans problèmes hors linq?
__________________
Microsoft MVP : Visual C#

MCPD - Windows Developer 4
MCPD - Web Developer 4
MCTS - Silverlight 4, Development

“If debugging is the process of removing bugs, then programming must be the process of putting them in.”
(Edsger W. Dijkstra)
GuruuMeditation est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/10/2011, 10h35   #7
Invité régulier
 
Inscription : novembre 2004
Messages : 50
Détails du profil
Informations forums :
Inscription : novembre 2004
Messages : 50
Points : 7
Points : 7
en dehors oui, il fonctionne très bien, j'ai essayé en faisant comme ceci est sa fonctionne:

Code :
1
2
3
4
5
Dim ListOfControlsLinq = From control In _Session.dbentities.TraductionSites Where control.PageName = _Name And Not control.Deleted.HasValue
 
        For Each control In ListOfControlsLinq
            _ListOfControls.Add(New MonControl(_Session, control.Id))
        Next
j'ai été obligé de rajouter un objet qui contenait le résultat "en l'état" qui boucle dessus pour que je puisse enfin remplir ma liste.

Apparemment le problème vient du fait que linqtoentities n'accepte pas de constructeur avec argument...
c'est bizarre que ca n'arrive qu'en VB cela dit car le problème n'a pas l'air de venir du type de langage utilisé mais du niveau de compilation du code.
ighost est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 09h15.


 
 
 
 
Partenaires

Hébergement Web