Catégorie : Syntaxe

C# 9 – Renforcement de la covariance

Avec le langage C#, lorsqu’une classe hérite d’une classe, il est possible de redéfinir une méthode ou une propriété dans la classe dérivée, si elle est déclarée abstraite ou virtuelle dans la classe de base. Cependant, jusqu’à la version 8, il n’est pas possible de modifier sa signature. La version 9 du langage C# renforce
Read More »

C# – Les flux asynchrones

A partir de la version 8 du langage C#, il est possible de créer des flux asynchrones, autrement dit des méthodes qui retournent un ensemble de données / d’objets de manière asynchrone pouvant être consommées de manière asynchrone. Ces méthodes possèdent les caractéristiques suivantes : Elles sont déclarées avec le mot clé async Elles retournent
Read More »

C# 9 – Les expressions typées cible

Soit la classe Personne suivante : public class Personne { public string Nom { get; set; } public string Prenom { get; set; } public Personne() : this(string.Empty, string.Empty) { } public Personne(string aNom, string aPrenom) { this.Nom = aNom; this.Prenom = aPrenom; } } Pour créer des instances de cette classe en C# 9,
Read More »

C# 9 – Les instructions de niveau supérieur

Dans les applications développées avec le langage C#, par convention, la classe Program contient la méthode Main qui constitue le point d’entrée de l’application. Voici un exemple du fichier Program.cs : using System; namespace ConsoleApp3 { class Program { static void Main(string[] args) { try { Person person = new Person("James", "RAVAILLE"); Console.WriteLine(person.Identity); } catch(Exception
Read More »

Langage C# – Délimiter l’utilisation d’objets avec l’instruction « using »

Dans le langage C#, l’instruction using permet d’importer des espaces de noms d’assemblys référencés. Cette instruction a aussi une autre utilisation très utile. Elle permet de délimiter précisément l’utilisation d’un objet dans un bloc de code. Voici un exemple permettant d’enregistrer un message dans un fichier : [cc lang= »csharp »] public void EcrireMessage(string aMessage) { using
Read More »

Langage C# – Créer facilement des objets qui pointent vers du code (délégués et expressions lambda)

Depuis 2008, au travers du Framework .NET, Microsoft propose deux délégués génériques permettant créer facilement des objets pointant vers du code : Func et Action. Les délégués (sous une autre forme) existaient déjà auparavant. Leur apparition a révolutionné le développement d’application en permettant : Aux procédures et fonctions d’accepter non seulement des données en paramètre,
Read More »