Certaines API lèvent désormais une exception ArgumentNullException (.NET 7)

Certaines API valident désormais les paramètres d’entrée et lèvent une ArgumentNullException là où elles lançaient un(e) NullReferenceException, si elles étaient appelées avec des arguments d’entrée null.

Comportement précédent

Dans les versions précédentes de .NET, les API affectées lèvent une NullReferenceException si elles sont appelées avec un argument qui est null.

Nouveau comportement

À partir de .NET 7, les API affectées lèvent une ArgumentNullException si elles sont appelées avec un argument qui est null.

Modifier la catégorie

Cette modification affecte la compatibilité binaire.

Raison du changement

La levée de ArgumentNullException est conforme au comportement du runtime .NET. Il offre une meilleure expérience de débogage en communiquant clairement quel argument a provoqué l’exception.

Version introduite

.NET 7

  • Vérifiez et, si nécessaire, mettez à jour votre code pour empêcher le transfert d’arguments d’entrée null aux API affectées.
  • Si votre code gère NullReferenceException, remplacez ou ajoutez un gestionnaire supplémentaire pour ArgumentNullException.

API affectées

Le tableau suivant répertorie les API affectées et les paramètres spécifiques.

Méthode/propriété Nom du paramètre Changer de version
ComboBox.ChildAccessibleObject(ComboBox, IntPtr) owner Preview 1
ControlPaint.CreateHBitmap16Bit(Bitmap, Color) bitmap Preview 1
ControlPaint.CreateHBitmapColorMask(Bitmap, IntPtr) bitmap Preview 1
DataGridViewEditingControlShowingEventArgs(Control, DataGridViewCellStyle) control ou cellStyle Preview 1
ToolStripArrowRenderEventArgs(Graphics, ToolStripItem, Rectangle, Color, ArrowDirection) g Preview 1
ToolStripContentPanelRenderEventArgs(Graphics, ToolStripContentPanel) g ou contentPanel Preview 1
ToolStripItemRenderEventArgs(Graphics, ToolStripItem) g ou item Preview 1
ToolStripPanelRenderEventArgs(Graphics, ToolStripPanel) g ou toolStripPanel Preview 1
ListView.CheckedIndexCollection(ListView) owner Préversion 5