I metodi WinForms ora generano ArgumentNullException

Alcuni metodi di Windows Forms generano ora un’eccezione ArgumentNullException per argomenti non Null, quando in precedenza generavano un'eccezione NullReferenceException.

Descrizione delle modifiche

In precedenza, alcuni metodi Windows Form generavano un oggetto NullReferenceException se veniva passato un argomento Null. A partire da .NET 5, questi metodi ora generano un'eccezione ArgumentNullException per gli argomenti Null.

La generazione di ArgumentNullException è conforme al comportamento del runtime .NET. Migliora anche l'esperienza di debug comunicando chiaramente che un argomento è Null e quale argomento è.

Versione introdotta

.NET 5.0

Se si chiama uno di questi metodi e il codice attualmente rileva un elemento NullReferenceException per gli argomenti Null, rilevare invece un elemento ArgumentNullException. È inoltre consigliabile aggiornare il codice per impedire il passaggio di argomenti Null ai metodi elencati.

API interessate

La tabella seguente elenca i metodi e i parametri interessati:

metodo Nome parametro Versione aggiunta
Control.ControlCollection(Control) owner Preview 1
TabControl.GetToolTipText(Object) item Preview 1
TableLayoutControlCollection(TableLayoutPanel) container Preview 1
ToolStripRenderer.OnRenderArrow(ToolStripArrowRenderEventArgs) e Preview 1
ToolStripRenderer.OnRenderItemCheck(ToolStripItemImageRenderEventArgs) e Preview 1
ToolStripRenderer.OnRenderItemImage(ToolStripItemImageRenderEventArgs) e Preview 1
ToolStripRenderer.OnRenderItemText(ToolStripItemTextRenderEventArgs) e Preview 1
ToolStripRenderer.OnRenderStatusStripSizingGrip(ToolStripRenderEventArgs) > e Preview 1
DataGridViewComboBoxEditingControl.ApplyCellStyleToEditingControl(DataGridViewCellStyle) dataGridViewCellStyle Preview 2
RichTextBox.LoadFile(Stream, RichTextBoxStreamType) data Preview 2
ListBox.IntegerCollection(ListBox) owner Preview 5
ListBox.IntegerCollection.CopyTo(Array, Int32) destination Preview 5
ListViewGroup.ISerializable.GetObjectData(SerializationInfo, StreamingContext) info Preview 5
VisualStyleRenderer(String, Int32, Int32) className Preview 5
ListBox.ObjectCollection(ListBox) owner Preview 6
ListBox.ObjectCollection(ListBox, Object[]) owner, value Preview 6
ListBox.ObjectCollection(ListBox, ListBox+ObjectCollection) owner, value Preview 6
ListBox.ObjectCollection.AddRange(Object[]) items Preview 6
ListBox.ObjectCollection.AddRange(ListBox+ObjectCollection) value Preview 6
ListBox.ObjectCollection.CopyTo(Object[], Int32) destination Preview 6
ListBox.ObjectCollection.ICollection.CopyTo(Array, Int32) destination Preview 6
ListView.SelectedIndexCollection(ListView) owner Preview 7
TreeNodeCollection.Find(String, Boolean) key è null o vuoto Preview 8
ListView.ListViewItemCollection.Find(String, Boolean) key è null o vuoto RC1
ScrollableControl.OnPaintBackground(PaintEventArgs) e RC1