C#
-
Cartesian products in LINQ (fluent syntax)
Have you ever tried to combine sequences in order to build Cartesian products in LINQ ? This is really easily achieved using the query expressions syntax, writing for instance : var ints = Enumerable.Range(1, 4); var longs = Enumerable.Range(1, 3).Select(i => (long)i); var products = from i in ints from l in longs select i [...]
-
Polymorphic enums in C#, implementation revealed
(pour consulter l’article précédent: Polymorhic enums in C#, generic incrementation) How can we implement a polymorphic enum to mimic the Java ones ? In a previous post, as an answer to @cyriux’s one, I showed how we could try to use a polymorphic enum in C# in order to mimic the Java ones. I have [...]
-
Polymorphic enums in C#, generic incrementation
Consultez ici l’article précédent During the implementation of my polymorphic enum, I have chosen to allow several types for the underlying “ordinal” value, as it is also possible for standard C# enums… From the MSDN documentation, the allowed underlying types for enum types are the following (although other value types such as char are eligible, [...]
-
Polymorphic enums in C# ?
Using Java as a inspiration source for C# (hmm wait, hasn’t that already been done from the start ?) A few weeks ago, I read this post by @cyriux, describing how you could use polymorphic enums in Java. Actually, I had already heard him telling that enums in C# were nothing like the ones in [...]
-
Bonnes pratiques de dév, Programmation
BDD et SpecFlow pour des tests plus lisibles
Dans ce billet, je vais utiliser SpecFlow et la syntaxe Gherkin pour écrire des tests en langage naturel. Je souhaite montrer à quel point la mise en place en est facile, lorsque vous disposez de code déjà testable, et comment celle-ci vous aide à écrire de meilleurs tests en quelques minutes. SpecFlow est à la [...]
-
Linq provider : un essai… partie 6
Jammin’ Jammin’ Le mois dernier, j’ai eu l’opportunité d’obtenir du feedback sur mon provider Linq, de la part @cyriux et Jérôme, au cours de la Jam de code mensuelle d’@ArollaFr. A cette occasion, nous avons également fait d’importants changements dans le code. Le concept d’un Jam de code est simple : nous nous rencontrons une [...]
-
Linq provider : un essai… partie 5
Améliorons la boite à outils : construisons nos propres visualisations d’arbres d’expression. Dans les deux derniers billets, Linq provider : un essai… partie 3 et Linq provider : un essai… partie 4, j’ai inclus des exemples de visualisations d’arbres d’expression. Je les ai construit en utilisant un pattern Visiteur (et oui, encore !), qui produit du markup HTML. Il [...]
-
Linq provider : un essai… partie 4
Post précédent de la série. Utilisons le pattern Visiteur pour manipuler des arbres d’expression. Dans les billets de cette série, j’ai commencé à décrire une implémentation partielle d’un provider Linq. L’objectif de ce provider est de récupérer des données depuis un web service, et pour réussir à renvoyer ces données à l’appelant du provider, des [...]
-
Linq provider : un essai… partie 3
Faisons enfin quelque chose ! Dans le post précédent de cette série , j’ai introduit les premières classes impliquées dans la mise en place d’un provider Linq : QueryableDummyData et DummyQueryProvider. Mais ces deux classes ne prenaient pas vraiment en charge le traitement de la requête Linq. Nous en arrivions justement à la classe DummyQueryContext… [...]
-
Linq provider : un essai… partie 2
Vous attendez depuis longtemps la suite de l’article précédent Linq provider : un essai… partie 1, alors la voici ! Tout d’abord, préparons le terrain: Pour construire mon exemple de provider, je vais interroger une Web service. Tout d’abord, voyons de manière générale ce que je cherche à faire : DummyWs : mon exemple de provider va être [...]