Partilhar via


Os métodos WinForms agora lançam ArgumentNullException

Alguns métodos do Windows Forms agora lançam um ArgumentNullException para argumentos nulos, onde anteriormente eles lançavam um NullReferenceException.

Alterar descrição

Anteriormente, certos métodos do Windows Forms lançavam um NullReferenceException argumento if passed que era null. A partir do .NET 5, esses métodos agora lançam um ArgumentNullException para argumentos nulos, em vez disso.

Lançar um ArgumentNullException está em conformidade com o comportamento do tempo de execução do .NET. Melhora também a experiência de depuração, ao comunicar de forma clara que um argumento é nulo e qual é esse argumento.

Versão introduzida

.NET 5.0

Se chamar qualquer um desses métodos e o seu código atualmente estiver a capturar um NullReferenceException para argumentos nulos, deve capturar um ArgumentNullException em vez disso. Além disso, considere atualizar o código para evitar a passagem de argumentos nulos para os métodos listados.

APIs afetadas

A tabela a seguir lista os métodos e parâmetros afetados:

Método Nome do parâmetro Versão adicionada
Control.ControlCollection(Control) owner Pré-visualização 1
TabControl.GetToolTipText(Object) item Pré-visualização 1
TableLayoutControlCollection(TableLayoutPanel) container Pré-visualização 1
ToolStripRenderer.OnRenderArrow(ToolStripArrowRenderEventArgs) e Pré-visualização 1
ToolStripRenderer.OnRenderItemCheck(ToolStripItemImageRenderEventArgs) e Pré-visualização 1
ToolStripRenderer.OnRenderItemImage(ToolStripItemImageRenderEventArgs) e Pré-visualização 1
ToolStripRenderer.OnRenderItemText(ToolStripItemTextRenderEventArgs) e Pré-visualização 1
ToolStripRenderer.OnRenderStatusStripSizingGrip(ToolStripRenderEventArgs) > e Pré-visualização 1
DataGridViewComboBoxEditingControl.ApplyCellStyleToEditingControl(DataGridViewCellStyle) dataGridViewCellStyle Pré-visualização 2
RichTextBox.LoadFile(Stream, RichTextBoxStreamType) data Pré-visualização 2
ListBox.IntegerCollection(ListBox) owner Pré-visualização 5
ListBox.IntegerCollection.CopyTo(Array, Int32) destination Pré-visualização 5
ListViewGroup.ISerializable.GetObjectData(SerializationInfo, StreamingContext) info Pré-visualização 5
VisualStyleRenderer(String, Int32, Int32) className Pré-visualização 5
ListBox.ObjectCollection(ListBox) owner Pré-visualização 6
ListBox.ObjectCollection(ListBox, Object[]) owner, value Pré-visualização 6
ListBox.ObjectCollection(ListBox, ListBox+ObjectCollection) owner, value Pré-visualização 6
ListBox.ObjectCollection.AddRange(Object[]) items Pré-visualização 6
ListBox.ObjectCollection.AddRange(ListBox+ObjectCollection) value Pré-visualização 6
ListBox.ObjectCollection.CopyTo(Object[], Int32) destination Pré-visualização 6
ListBox.ObjectCollection.ICollection.CopyTo(Array, Int32) destination Pré-visualização 6
ListView.SelectedIndexCollection(ListView) owner Pré-visualização 7
TreeNodeCollection.Find(String, Boolean) key é null ou vazio Pré-visualização 8
ListView.ListViewItemCollection.Find(String, Boolean) key é null ou vazio RC1
ScrollableControl.OnPaintBackground(PaintEventArgs) e RC1