Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
FromKeyedServicesAttribute.Key is gewijzigd van een niet-null-waarde object in een null-waarde object? ter ondersteuning van null-waarden voor niet-sleutelservices en overnamescenario's.
Geïntroduceerde versie
.NET 8
Vorig gedrag
Eerder werd FromKeyedServicesAttribute.Key gedeclareerd als een niet-nullable object.
public object Key { get; }
Nieuw gedrag
Vanaf .NET 8, FromKeyedServicesAttribute.Key wordt nu als nullable object? gedeclareerd.
public object? Key { get; }
Een null waarde geeft aan dat er geen sleutel is en dat alleen het parametertype wordt gebruikt om de service op te lossen. Dit is handig voor implementaties van afhankelijkheidsinjectie die een expliciete manier vereisen om te verklaren dat de parameter moet worden omgezet voor services zonder sleutel. Een null waarde wordt ook gebruikt bij overervingsscenario's om aan te geven dat de sleutel moet worden geërfd van het ouderbereik.
Type van brekende verandering
Deze wijziging kan van invloed zijn op de broncompatibiliteit.
Reden voor wijziging
Er is ondersteuning toegevoegd voor gesleutelde services om parameters als niet-gesleuteld te annoteren. Met deze wijziging kunnen ontwikkelaars expliciet aangeven wanneer een parameter moet worden opgelost zonder een sleutel, wat met name handig is in scenario's waarin zowel sleutel- als niet-sleutelservices zijn geregistreerd voor hetzelfde type.
Aanbevolen actie
Pas alle code aan die FromKeyedServicesAttribute.Key gebruikt om null waarden te verwerken.