Articles / Nouvelle technologies


C'est en travaillant pour un projet (et oui, même malade on travaille!) que je me suis posé la question de savoir quel était le meilleur moyen d'utiliser LINQ dans un constructeur d'objet. On pourrait par exemple faire ceci :

[code:c#]
public class Client
{
   string _nom;
   string _prenom;
   ...
   public Client(int ClientID, DataContext dc)
   {
      var q = from c in dc.GetTable<ClientDB>()
                  where c.ClientID == ClientID
                  select new Client { ... };
      ...
   }
}
[/code]

Mais c'est ridicule :). Construire une instance de classe en se servant de la création d'une instance de classe... Heuu...

Par contre, nous pouvons utiliser les objets anonymes qu'a introduit C# 3.0. Ce qui donnerait :

[code:c#]
public class Client
{
   string _nom;
   string _prenom;
   ...
   public Client(int ClientID, DataContext dc)
   {
      var q = from c in dc.GetTable<ClientDB>()
                  where c.ClientID == ClientID
                  select new { Nom = c.Nom, ... };
      ...
   }
}
[/code]

Ensuite pour initialiser les variables membres de notre classe nous pouvons procéder comme suit :

[code:c#]
...
var Personne = q.Single();
this._nom = Personne.Nom;
...
[/code]

Si vous connaissez d'autres méthodes, faites le moi savoir!



Lire la suite...
Tags:
Catégorie : LINQ

Une question sur cet article? n'hésitez pas a me contacter par Live Messegner. Suis-je connecté?

Soyez le premier à noter ce billet

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Par Loïc Bar le 12/10/2007 13:02:52

Permalink | Commentaires (0) | Post RSS |


Ajouter un commentaire



(Affichera votre icône Gravatar)  

  Country flag






Flux rss



Ou, la newsletter! Abonnez-vous!


Tags



Blogroll



Statistiques






Propulsé par BlogEngine.NET, modifé par Loïc Bar.