Compartir a través de


Los métodos de WinForms ahora lanzan ArgumentNullException

Algunos métodos de Windows Forms ahora lanzan un ArgumentNullException para los argumentos null, donde anteriormente lanzaban un NullReferenceException.

Descripción del cambio

Anteriormente, algunos métodos de Windows Forms lanzaron un NullReferenceException si se pasó un argumento que era NULL. A partir de .NET 5, estos métodos ahora lanzan una excepción ArgumentNullException para argumentos nulos, en vez de eso.

El inicio de una ArgumentNullException se ajusta al comportamiento del tiempo de ejecución de .NET. También mejora la experiencia de depuración al comunicar claramente que un argumento es nulo y cuál argumento es.

Versión introducida

.NET 5.0

Si llama a cualquiera de estos métodos y el código detecta actualmente una NullReferenceException para los argumentos NULL, capture en su lugar una ArgumentNullException. Además, considere la posibilidad de actualizar el código para evitar pasar argumentos NULL a los métodos enumerados.

Las APIs afectadas

En la tabla siguiente se enumeran los métodos y parámetros afectados:

Método Nombre del parámetro Versión añadida
Control.ControlCollection(Control) owner Versión preliminar 1
TabControl.GetToolTipText(Object) item Versión preliminar 1
TableLayoutControlCollection(TableLayoutPanel) container Versión preliminar 1
ToolStripRenderer.OnRenderArrow(ToolStripArrowRenderEventArgs) e Versión preliminar 1
ToolStripRenderer.OnRenderItemCheck(ToolStripItemImageRenderEventArgs) e Versión preliminar 1
ToolStripRenderer.OnRenderItemImage(ToolStripItemImageRenderEventArgs) e Versión preliminar 1
ToolStripRenderer.OnRenderItemText(ToolStripItemTextRenderEventArgs) e Versión preliminar 1
ToolStripRenderer.OnRenderStatusStripSizingGrip(ToolStripRenderEventArgs) > e Versión preliminar 1
DataGridViewComboBoxEditingControl.ApplyCellStyleToEditingControl(DataGridViewCellStyle) dataGridViewCellStyle Versión preliminar 2
RichTextBox.LoadFile(Stream, RichTextBoxStreamType) data Versión preliminar 2
ListBox.IntegerCollection(ListBox) owner Versión preliminar 5
ListBox.IntegerCollection.CopyTo(Array, Int32) destination Versión preliminar 5
ListViewGroup.ISerializable.GetObjectData(SerializationInfo, StreamingContext) info Versión preliminar 5
VisualStyleRenderer(String, Int32, Int32) className Versión preliminar 5
ListBox.ObjectCollection(ListBox) owner Versión preliminar 6
ListBox.ObjectCollection(ListBox, Object[]) owner, value Versión preliminar 6
ListBox.ObjectCollection(ListBox, ListBox+ObjectCollection) owner, value Versión preliminar 6
ListBox.ObjectCollection.AddRange(Object[]) items Versión preliminar 6
ListBox.ObjectCollection.AddRange(ListBox+ObjectCollection) value Versión preliminar 6
ListBox.ObjectCollection.CopyTo(Object[], Int32) destination Versión preliminar 6
ListBox.ObjectCollection.ICollection.CopyTo(Array, Int32) destination Versión preliminar 6
ListView.SelectedIndexCollection(ListView) owner Versión preliminar 7
TreeNodeCollection.Find(String, Boolean) key es null o está vacío Versión preliminar 8
ListView.ListViewItemCollection.Find(String, Boolean) key es null o está vacío RC1
ScrollableControl.OnPaintBackground(PaintEventArgs) e RC1