Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
FromKeyedServicesAttribute.Key foi alterado de um não anulável object para um nulo object? para suportar valores nulos para serviços sem chave e cenários de herança.
Versão introduzida
.NET 8
Comportamento anterior
Anteriormente, FromKeyedServicesAttribute.Key foi declarado como não anulável object:
public object Key { get; }
Novo comportamento
A partir do .NET 8, FromKeyedServicesAttribute.Key agora é declarado como anulável object?:
public object? Key { get; }
Um null valor indica que não há nenhuma 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 valor null também é usado em 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 da fonte.
Motivo da mudança
Foi adicionado suporte para serviços chaveados para anotar parâmetros como não chaveados. 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 os serviços com e sem chave são registrados para o mesmo tipo.
Ação recomendada
Ajuste qualquer código que use FromKeyedServicesAttribute.Key para processar valores de null.