Async/await en bref…

Cet article fait partie d’une série d’articles sur async/await. Async/Await Modèles de programmation asynchrone Modèle de programmation asynchrone Modèle asynchrone basé sur des événements Modèle asynchrone basé sur des Tasks Async/await en bref… Fonctionnement général Async Await Modèle awaitable Les mot-clés async/await sont apparus avec C# 5.0 et la version 4.5 du framework .NET. Sous…

Continuer à lire

Modèles de programmation asynchrone (async/await)

Cet article fait partie d’une série d’articles sur async/await. Async/Await Modèles de programmation asynchrone Modèle de programmation asynchrone Modèle asynchrone basé sur des événements Modèle asynchrone basé sur des Tasks Async/await en bref… Fonctionnement général Async Await Modèle awaitable Quelque soit le type d’application, il peut être nécessaire de vouloir exécuter des traitements de façon…

Continuer à lire

Aide-mémoire pattern matching C#

Cet article est un aide-mémoire des motifs les plus courants de pattern matching suivant les versions de C# pour aider à se rappeler de la syntaxe: Motif Version C# Remarques et exemples Null pattern C# 7.0 Test pour vérifier si une variable est nulle Vehicle vehicle = new Car(); if (vehicle is null) Console.WriteLine($”{nameof(vehicle)} is…

Continuer à lire

Les “Assembly Load Contexts” en 5 min

Les contextes de chargement d’assemblies (i.e. assembly load contexts) correspondent à une proposition différente et plus aboutie que les domaines d’application (i.e. application domain) pour permettre d’assurer le même type de fonctionnalités: Permettre de charger des versions différentes d’une même assembly dans un même processus, Permettre de charger puis de décharger de façon modulaire des…

Continuer à lire

Les “Application Domains” en 5 min

Le code d’une application .NET est déployé sous la forme de code IL (i.e. Intermediate Language) dans des unités déployables appelées assemblies. Ces assemblies sont des fichiers avec une extension .exe pour un exécutable ou .dll pour une bibliothèque de classes. L’intérêt de pouvoir organiser le code dans des assemblies différentes est, par exemple, de…

Continuer à lire

Les fonctionnalités C# 10.0

@jaymantri Le but de cet article est de résumer et d’expliquer les fonctionnalités de C# 10.0. Dans un premier temps, on explicitera le contexte de C# 10.0 par rapport aux autres composants (frameworks, IDE, compilateur etc…) qui permettent de l’utiliser. Ensuite, on rentrera dans le détail des fonctionnalités. Les fonctionnalités les plus rapides à expliquer…

Continuer à lire

Namespaces implicites (C# 10)

C# 10.0 Cet article fait partie d’une série d’articles sur les apports fonctionnels de C# 10.0. A partir de C# 10 et .NET 6, 2 fonctionnalités permettent de limiter la répétition des using <namespace> en tête des fichiers C#: l’opérateur global et la propriété ImplicitUsings. Ces 2 fonctionnalités visent à déclarer les namespaces une fois…

Continuer à lire

Gestionnaire d’interpolation de chaînes de caractères (C# 10)

Cet article fait partie d’une série d’articles sur les apports fonctionnels de C# 10.0. Sommaire Interpolation de chaîne de caractères Options d’alignement et de formatage Echappement des caractères spéciaux Verbatim string Interpolation de chaînes constantes Gestionnaire d’interpolation de chaînes de caractères Attribut InterpolatedStringHandler Attribut InterpolatedStringHandlerArgument C# 10.0 Cette fonctionnalité permet d’apporter une solution pour faciliter…

Continuer à lire