.NET, Architecture, ALM, Cloud

Publicité

system.linq.expressions

Méthode d'extension OrderBy(string, direction)

Voici un exemple dimplémentation pour ajouter une méthode d'extension sur IQueryable pour effectuer vos tris sur un nom de membre (sans méthode lambda) et préciser la direction (éviter d'avoir à appeller dans un cas le "OrderBy" ou dans l'autre...

Lire la suite
Publicité

Comment créer vos Expressions

Un autre gros avantage du mécanisme d'Expression Trees et son extensibilité et va donc vous permettre de créer vos propres expressions. Il n'y a rien de mieux qu'on bon exemple. Prenons la fonction Factorielle : public static int StaticFactorial( int...

Lire la suite

Expressions.Debugger bientôt disponible !

Vous utilisez les arbres d'expression (Expression Trees) et vous êtes frustrés de ne pas pouvoir les visualiser et debugger facilement ? Je suis dans le même cas ! Je suis en train de me lancer dans un petit projet CodePlex que j'ai nommé "Expressions.Debugger"....

Lire la suite

Créer son Provider LINQ en 4.0

Voyons à présent comment créer simplement son provider LINQ à l'aide du Framework 4.0. Il était bien sûr possible de créer son provider LINQ avec le Framework 3.5 mais son implémentation a été facilité avec le 4.0 et la mise à disposition de la classe...

Lire la suite
Publicité

SwitchExpression Example

C# Code : Action < AttributeTargets > switchSample = (a) => { switch (a) { case AttributeTargets .Class: Console .WriteLine( "Attribute for class" ); break ; case AttributeTargets .Method: Console .WriteLine( "Attribute for method" ); break ; default...

Lire la suite

TryCatchExpression Example

C# Code : Action trySample = (a, b) => { try { int result = a / b; Console.WriteLine("Result : {0}", result); } catch (System.DivideByZeroException) { Console.WriteLine("cannot divide by zero"); } catch (Exception) { Console.WriteLine("UnexpectedException");...

Lire la suite

Foreach Expression Trees

C# Code : Func> foreachSample = (a) => { List myList = new List(); IEnumerable numbers = new int[] { 1, 2, 3, 4 }; foreach (int number in numbers) myList.Add(number * 2); return myList; }; Expression Trees Code : var aParam...

Lire la suite

LoopExpression Example

C# Code : Action loopSample = cpt => { for (int i = 0; i < cpt; i++) Console.WriteLine(i); }; Expression Tree Code : Expression> loopSampleE = // Action loopSample = Expression.Lambda>( //{ Expression.Block( //i = 0 new[]...

Lire la suite
Publicité

Récupérer le code IL de vos méthodes dynamiques

Petit tutorial très pratique qui va nous permettre de récupérer le Code IL de nos méthodes dynamiques et donc de nos expressions lambda compilé à la volée. Prenons un exemple simple : Expression > methodE = a => a * 2; var method = methodE.Compile();...

Lire la suite

Expression Trees Reloaded (V2)

Les arbres d'expressions (Expression Trees) sont apparus dans sa première version avec le framework 3.5. En parallèle le projet DLR continuait son bout de chemin en mettant en place un nouveau modèle des ET pour faciliter la mise en place des langages...

Lire la suite