Este artigo é um artigo espelhado de tradução automática, por favor clique aqui para ir para o artigo original.

Vista: 2933|Resposta: 0

[Comunicação] .NET/C# saída genérica em T covariante e inversor na interface

[Copiar link]
Publicado em 03/08/2023 20:35:23 | | | |
Requisitos: Recentemente, estava olhando o código-fonte do .NET e descobri que há uma palavra-chave out genérica na interface, como:interface pública IStringLocalizer<out T>, e então estudou.

Parâmetros genéricos de tipo em uma interface podem ser declarados como covariantes ou inversores. A covariância permite que métodos de interface tenham um tipo de retorno mais derivado do que o tipo de retorno definido pelo parâmetro genérico do tipo. O inversor permite que o método de interface tenha um grau menor de derivação a partir do tipo de argumento especificado pelo parâmetro genérico. Interfaces genéricas com parâmetros do tipo covariante ou genérico do inversor são chamadas de "variantes".

Covariância: Use a palavra-chave out para declarar o parâmetro genérico de tipo como covariante.
Inverso: Use a palavra-chave in para declarar o parâmetro genérico de tipo como inversor.

Esta captura de tela do VS2022 é muito descritiva – ilustra o tipo de limitações que isso traz aos genéricos, como mostrado abaixo:



Em comissãoFunc<in T, saída TResult>Isso significa que o tipo de parâmetro é T e o tipo de retorno é TResult.

Referência:
O login do hiperlink está visível.
O login do hiperlink está visível.






Anterior:Um novo temporizador no .NET 6, o PeriodicTimer, é usado
Próximo:Qv2ray conecta o serviço Trojan-Go no Windows
Disclaimer:
Todo software, material de programação ou artigos publicados pela Code Farmer Network são apenas para fins de aprendizado e pesquisa; O conteúdo acima não deve ser usado para fins comerciais ou ilegais, caso contrário, os usuários terão todas as consequências. As informações deste site vêm da Internet, e disputas de direitos autorais não têm nada a ver com este site. Você deve deletar completamente o conteúdo acima do seu computador em até 24 horas após o download. Se você gosta do programa, por favor, apoie um software genuíno, compre o registro e obtenha serviços genuínos melhores. Se houver qualquer infração, por favor, entre em contato conosco por e-mail.

Mail To:help@itsvse.com