Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
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.
Doporučená akce
Upravte libovolný kód, který používá FromKeyedServicesAttribute.Key ke zpracování null hodnot.