Niektóre interfejsy API zgłaszają wyjątek ArgumentNullException (.NET 7)
Niektóre interfejsy API weryfikują ArgumentNullException teraz parametry wejściowe i zgłaszają, gdzie wcześniej rzucili NullReferenceExceptionelement , jeśli zostały wywołane argumentami wejściowymi null
.
Poprzednie zachowanie
W poprzednich wersjach platformy .NET, których dotyczy problem, interfejsy API zgłaszają wywołanie NullReferenceException z argumentem , który jest null
.
Nowe zachowanie
Począwszy od platformy .NET 7, interfejsy API, których dotyczy problem, zgłaszają wywołanie ArgumentNullException z argumentem , który jest null
.
Kategoria zmiany
Ta zmiana ma wpływ na zgodność binarną.
Przyczyna wprowadzenia zmiany
Zgłaszanie ArgumentNullException jest zgodne z zachowaniem środowiska uruchomieniowego platformy .NET. Zapewnia lepsze środowisko debugowania, wyraźnie komunikując, który argument spowodował wyjątek.
Wprowadzona wersja
.NET 7
Zalecana akcja
- Przejrzyj i, w razie potrzeby, zaktualizuj kod, aby zapobiec przekazywaniu
null
argumentów wejściowych do dotkniętych interfejsów API. - Jeśli kod obsługuje metodę NullReferenceException, zastąp lub dodaj dodatkową procedurę obsługi dla elementu ArgumentNullException.
Dotyczy interfejsów API
W poniższej tabeli wymieniono objęte interfejsy API i określone parametry.
Metoda/właściwość | Nazwa parametru | Zmienianie wersji |
---|---|---|
ComboBox.ChildAccessibleObject(ComboBox, IntPtr) | owner |
Wersja zapoznawcza 1 |
ControlPaint.CreateHBitmap16Bit(Bitmap, Color) | bitmap |
Wersja zapoznawcza 1 |
ControlPaint.CreateHBitmapColorMask(Bitmap, IntPtr) | bitmap |
Wersja zapoznawcza 1 |
DataGridViewEditingControlShowingEventArgs(Control, DataGridViewCellStyle) | control lub cellStyle |
Wersja zapoznawcza 1 |
ToolStripArrowRenderEventArgs(Graphics, ToolStripItem, Rectangle, Color, ArrowDirection) | g |
Wersja zapoznawcza 1 |
ToolStripContentPanelRenderEventArgs(Graphics, ToolStripContentPanel) | g lub contentPanel |
Wersja zapoznawcza 1 |
ToolStripItemRenderEventArgs(Graphics, ToolStripItem) | g lub item |
Wersja zapoznawcza 1 |
ToolStripPanelRenderEventArgs(Graphics, ToolStripPanel) | g lub toolStripPanel |
Wersja zapoznawcza 1 |
ListView.CheckedIndexCollection(ListView) | owner |
Wersja zapoznawcza 5 |