Udostępnij za pośrednictwem


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ć.

  • Jeśli maper został zastąpiony WKUIDelegate dla systemu iOS lub Mac CatalystWebViewHandler, wielocelowe net6.0-ios i net7.0-ios lub net6.0-maccatalyst .net7.0-maccatalyst
  • Jeśli maper został zastąpiony WebChromeClient dla systemu Android WebViewHandler, multi-target net6.0-android i net7.0-android.
  • W przeciwnym razie żadna akcja nie jest konieczna.

Dotyczy interfejsów API

  • Microsoft.Maui.Platform.MauiWebChromeClient Konstruktor
  • Microsoft.Maui.Platform.MauiWebViewNavigationDelegate Konstruktor