Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
FromKeyedServicesAttribute.Key foi alterado de uma não anulável object para uma anulável object? para dar suporte a valores nulos em cenários de serviços sem chave e de herança.
Versão introduzida
.NET 8
Comportamento anterior
Anteriormente, FromKeyedServicesAttribute.Key era declarado como não anulável object:
public object Key { get; }
Novo comportamento
A partir do .NET 8, FromKeyedServicesAttribute.Key agora é declarado como um object? nulo.
public object? Key { get; }
Um null valor indica que não há chave e apenas o tipo de parâmetro é usado para resolver o serviço. Isso é útil para implementações de injeção de dependência que exigem uma maneira explícita de declarar que o parâmetro deve ser resolvido para serviços sem chave. Um null valor também é usado com cenários de herança para indicar que a chave deve ser herdada do escopo pai.
Tipo de mudança disruptiva
Essa alteração pode afetar a compatibilidade do código-fonte.
Motivo da alteração
Foi adicionado suporte para serviços identificados por chave para anotar parâmetros como não identificados por chave. Essa alteração permite que os desenvolvedores indiquem explicitamente quando um parâmetro deve ser resolvido sem uma chave, o que é particularmente útil em cenários em que serviços com chave e sem chave são registrados para o mesmo tipo.
Ação recomendada
Ajuste qualquer código que use FromKeyedServicesAttribute.Key para manipular null valores.