Los constructores aceptan la interfaz base en lugar de un tipo concreto

Ahora, los constructores de los siguientes tipos aceptan la interfaz base (IWebViewHandler) en lugar de un tipo concreto específico que implementa la interfaz (WebViewHandler):

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

Versión introducida

.NET 7

Comportamiento anterior

Los constructores de MauiWebChromeClient y MauiWebViewNavigationDelegate requieren que el autor de la llamada pase una instancia de Microsoft.Maui.Handlers.WebViewHandler concreta.

Comportamiento nuevo

Ahora, los constructores de MauiWebChromeClient y MauiWebViewNavigationDelegate aceptan cualquier implementación de la interfaz Microsoft.Maui.Handlers.IWebViewHandler.

Tipo de cambio importante

Este cambio puede afectar a la compatibilidad binaria.

Motivo del cambio

Los constructores originales requerían que el autor de la llamada pasara un tipo concreto que el usuario no puede controlar y que podría iniciarse en cualquier momento dependiendo del autor de la biblioteca o del orden de las importaciones. La nueva implementación solo requiere la interfaz base, que es algo que un desarrollador puede usar de verdad.

  • Si ha invalidado el asignador WKUIDelegate para iOS o Mac Catalyst WebViewHandler, establezca varios destinos: en net6.0-ios y net7.0-ios o en net6.0-maccatalyst y net7.0-maccatalyst.
  • Si ha invalidado el asignador WebChromeClient para Android WebViewHandler, establezca varios destinos: en net6.0-android y net7.0-android.
  • De lo contrario, no es preciso realizar ninguna acción.

API afectadas

  • Constructor Microsoft.Maui.Platform.MauiWebChromeClient
  • Constructor Microsoft.Maui.Platform.MauiWebViewNavigationDelegate