Algunas API inician la excepción ArgumentNullException (.NET 7)

Algunas API ahora validan los parámetros de entrada e inician una excepción ArgumentNullException donde anteriormente iniciaban una excepción NullReferenceException, si se invocaban con argumentos de entrada null.

Comportamiento anterior

En las versiones anteriores de .NET, las API afectadas iniciaban una excepción NullReferenceException si la invocación se realizaba con un argumento que es null.

Comportamiento nuevo

A partir de .NET 7, las API afectadas inician una excepción ArgumentNullException si la invocación se realiza con un argumento que es null.

Cambio de categoría

Este cambio afecta a la compatibilidad binaria.

Motivo del cambio

Iniciar ArgumentNullException se ajusta al comportamiento del entorno de ejecución .NET. Proporciona una mejor experiencia de depuración al comunicar claramente qué argumento produjo la excepción.

Versión introducida

.NET 7

  • Revise y, si es necesario, actualice el código para evitar pasar argumentos de entrada null a las API afectadas.
  • Si el código controla NullReferenceException, reemplace o agregue un controlador adicional para ArgumentNullException.

API afectadas

En la tabla siguiente se enumeran las API afectadas y los parámetros específicos.

Método/propiedad Nombre de parámetro Cambio de versión
ComboBox.ChildAccessibleObject(ComboBox, IntPtr) owner Versión preliminar 1
ControlPaint.CreateHBitmap16Bit(Bitmap, Color) bitmap Versión preliminar 1
ControlPaint.CreateHBitmapColorMask(Bitmap, IntPtr) bitmap Versión preliminar 1
DataGridViewEditingControlShowingEventArgs(Control, DataGridViewCellStyle) control o cellStyle Versión preliminar 1
ToolStripArrowRenderEventArgs(Graphics, ToolStripItem, Rectangle, Color, ArrowDirection) g Versión preliminar 1
ToolStripContentPanelRenderEventArgs(Graphics, ToolStripContentPanel) g o contentPanel Versión preliminar 1
ToolStripItemRenderEventArgs(Graphics, ToolStripItem) g o item Versión preliminar 1
ToolStripPanelRenderEventArgs(Graphics, ToolStripPanel) g o toolStripPanel Versión preliminar 1
ListView.CheckedIndexCollection(ListView) owner Versión preliminar 5