Este artículo es un artículo espejo de traducción automática, por favor haga clic aquí para saltar al artículo original.

Vista: 2933|Respuesta: 0

[Comunicación] .NET/C# salida genérica en T covariante y inversor en la interfaz

[Copiar enlace]
Publicado en 3/8/2023 20:35:23 | | | |
Requisitos: Recientemente, estuve mirando el código fuente de .NET y vi que hay una palabra clave out en la interfaz genérica, como:interfaz pública IStringLocalizer<out T>, y luego lo estudió.

Los parámetros genéricos de tipo en una interfaz pueden declararse como covariantes o inversores. La covarianza permite que los métodos de interfaz tengan un tipo de retorno más derivado que el tipo de retorno definido por el parámetro genérico del tipo. El inversor permite que el método de interfaz tenga un grado menor de derivación a partir del tipo de argumento especificado por el parámetro genérico. Las interfaces genéricas con parámetros de tipo covariante o tipo genérico de inversor se denominan "variantes".

Covarianza: Usa la palabra clave out para declarar el parámetro genérico de tipo como covariante.
Inverso: Usar la palabra clave in para declarar el parámetro genérico de tipo como inversor.

Esta captura de pantalla de VS2022 es muy descriptiva: ilustra el tipo de limitaciones que esto supone para los genéricos, como se muestra a continuación:



En comisiónFunc<in T, salida TResult>Esto significa que el tipo de parámetro es T y el tipo de retorno es TResult.

Referencia:
El inicio de sesión del hipervínculo es visible.
El inicio de sesión del hipervínculo es visible.






Anterior:Se utiliza un nuevo temporizador en .NET 6, PeriodicTimer,
Próximo:Qv2ray conecta el servicio Trojan-Go en Windows
Renuncia:
Todo el software, materiales de programación o artículos publicados por Code Farmer Network son únicamente para fines de aprendizaje e investigación; El contenido anterior no se utilizará con fines comerciales o ilegales; de lo contrario, los usuarios asumirán todas las consecuencias. La información de este sitio proviene de Internet, y las disputas de derechos de autor no tienen nada que ver con este sitio. Debes eliminar completamente el contenido anterior de tu ordenador en un plazo de 24 horas desde la descarga. Si te gusta el programa, por favor apoya el software genuino, compra el registro y obtén mejores servicios genuinos. Si hay alguna infracción, por favor contáctanos por correo electrónico.

Mail To:help@itsvse.com