Covariance pour le retour de fonction (C# 9.0)

Sommaire Variance Covariance pour le retour de fonction Conséquences de la covariance dans le code MSIL newslot PreserveBaseOverridesAttribute Pour conclure… Avant de rentrer dans le détail de la fonctionnalité “covariant return”, on va expliquer ce que signifie le terme “covariant” (i.e. covariance). Dans un 2e temps, on expliquera quelques subtilités de la fonctionnalité en vérifiant…

Continuer à lire

Native ints (C# 9.0)

Cette fonctionnalité consiste à permettre d’utiliser les types “native int” et “native unsigned int” dans du code C#. Avant cette fonctionnalité, ces types n’existaient que dans le code MSIL, ils étaient générés quand on utilisait les types System.IntPtr et System.UIntPtr. L’inconvénient est que les types IntPtr et UIntPtr ne sont pas trop très flexibles et…

Continuer à lire

Les pointeurs de fonction (C# 9.0)

Le but de la fonctionnalité des pointeurs de fonction en C# est de proposer une syntaxe pour facilement manipuler ce type de pointeurs. La manipulation de pointeurs est possible en C# toutefois avant C# 9, manipuler des pointeurs de fonction n’était pas direct, cela nécessitait de passer par l’émission directe d’instructions en MSIL ce qui…

Continuer à lire

Les records (C# 9.0)

C# 9 introduit un nouveau type d’objets dont le but est de fournir une syntaxe simple pour déclarer des objets de type référence contenant des propriétés. Ces objets peuvent être définis en utilisant le mot-clé record. Cet article a pour but de passer en revue les propriétés des objets record. Sommaire Un record est une…

Continuer à lire