Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
FromKeyedServicesAttribute.Key было изменено с ненулевого значения на значение NULL objectobject? для поддержки значений NULL для неподключенных служб и сценариев наследования.
Представленная версия
.NET 8
Предыдущее поведение
FromKeyedServicesAttribute.Key Ранее был объявлен как не допускающий objectзначения NULL:
public object Key { get; }
Новое поведение
Начиная с .NET 8, FromKeyedServicesAttribute.Key теперь объявлен как nullable object?.
public object? Key { get; }
Значение null указывает, что ключ отсутствует, и для разрешения службы используется только тип параметра. Это полезно для реализаций внедрения зависимостей, которые требуют явного способа указать, что параметр должен быть разрешен для неключевых сервисов.
null Значение также используется в сценариях наследования, чтобы указать, что ключ должен наследоваться от родительского контекста.
Тип разрушающего изменения
Это изменение может повлиять на совместимость исходного кода .
Причина изменения
Была добавлена поддержка для служб с ключами, чтобы аннотировать параметры как без ключа. Это изменение позволяет разработчикам явно указывать, когда параметр должен разрешаться без ключа, что особенно полезно в сценариях, когда для одного типа регистрируются как службы с ключом, так и без ключа.
Рекомендуемое действие
Настройте любой код, который использует FromKeyedServicesAttribute.Key, чтобы обрабатывать значения null.