Konstruktory akceptują interfejs podstawowy zamiast konkretnego typu
Konstruktory następujących typów akceptują teraz interfejs podstawowy (IWebViewHandler
) zamiast określonego, konkretnego typu, który implementuje interfejs (WebViewHandler
):
Microsoft.Maui.Platform.MauiWebChromeClient
Microsoft.Maui.Platform.MauiWebViewNavigationDelegate
Wprowadzona wersja
.NET 7
Poprzednie zachowanie
Konstruktory MauiWebChromeClient
obiektu i MauiWebViewNavigationDelegate
wymagały, aby obiekt wywołujący przeszedł w konkretnym Microsoft.Maui.Handlers.WebViewHandler
wystąpieniu.
Nowe zachowanie
Konstruktory elementów MauiWebChromeClient
i MauiWebViewNavigationDelegate
teraz akceptują dowolną implementację interfejsu Microsoft.Maui.Handlers.IWebViewHandler
.
Typ zmiany powodującej niezgodność
Ta zmiana może mieć wpływ na zgodność binarną.
Przyczyna wprowadzenia zmiany
Oryginalne konstruktory wymagały, aby obiekt wywołujący przeszedł konkretny typ, który nie jest sterowany przez użytkownika i mógł zgłaszać w dowolnym momencie w zależności od autora biblioteki lub kolejności importu. Nowa implementacja wymaga jedynie interfejsu podstawowego, który jest czymś, czego deweloper może faktycznie użyć.
Zalecana akcja
- Jeśli maper został zastąpiony
WKUIDelegate
dla systemu iOS lub Mac CatalystWebViewHandler
, wielocelowenet6.0-ios
inet7.0-ios
lubnet6.0-maccatalyst
.net7.0-maccatalyst
- Jeśli maper został zastąpiony
WebChromeClient
dla systemu AndroidWebViewHandler
, multi-targetnet6.0-android
inet7.0-android
. - W przeciwnym razie żadna akcja nie jest konieczna.
Dotyczy interfejsów API
Microsoft.Maui.Platform.MauiWebChromeClient
KonstruktorMicrosoft.Maui.Platform.MauiWebViewNavigationDelegate
Konstruktor