FromKeyedServicesAttribute.Key může mít hodnotu null.

FromKeyedServicesAttribute.Key byl změněn z nenulového object na nulového object? aby podporoval hodnoty null pro neklíčované služby a scénáře dědičnosti.

Verze byla představena

.NET 8

Předchozí chování

FromKeyedServicesAttribute.Key Dříve byla deklarována jako nenulováobject:

public object Key { get; }

Nové chování

Počínaje rozhraním .NET 8 FromKeyedServicesAttribute.Key je nyní deklarován jako nullable object?:

public object? Key { get; }

Hodnota null označuje, že neexistuje žádný klíč a k určení služby se používá pouze typ parametru. To je užitečné pro implementace injektáže závislostí, které vyžadují explicitní způsob, jak deklarovat, že parametr by měl být vyřešen pro neklíčové služby. Hodnota null se také používá ve scénářích dědičnosti k označení, že klíč by se měl dědit z nadřazeného oboru.

Typ zásadní změny

Tato změna může mít vliv na kompatibilitu zdroje.

Důvod změny

Byla přidána podpora pro služby s klíči, které umožňují označení parametrů jako bez klíče. Tato změna umožňuje vývojářům explicitně určit, kdy se má parametr vyřešit bez klíče, což je zvlášť užitečné ve scénářích, kdy jsou pro stejný typ zaregistrované jak klíčové, tak i neklíčové služby.

Upravte libovolný kód, který používá FromKeyedServicesAttribute.Key ke zpracování null hodnot.

Ovlivněná rozhraní API