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.
De System.Security.Cryptography.Oid klasse, die wordt gebruikt om asn.1-object-id-waarden en hun 'beschrijvende' namen weer te geven, was voorheen volledig veranderlijk. Deze muteerbaarheid werd vaak over het hoofd gezien of kwam als een verrassing. De eigenschapssetters genereren nu een PlatformNotSupportedException wanneer u probeert de waarde te wijzigen nadat deze al is toegewezen.
Beschrijving wijzigen
In eerdere versies kunnen de eigenschapssetters Oid worden gebruikt om de waarde van de FriendlyName en Value eigenschappen te wijzigen.
In .NET 5 en latere versies kunnen de eigenschappensetters alleen worden gebruikt om de waarde te initialiseren. Zodra de eigenschap een waarde heeft, van een constructor of een eerdere aanroep naar de eigenschapssetter, gooit de eigenschapssetter altijd een PlatformNotSupportedException.
Reden voor wijziging
Met deze wijziging kunnen objecten opnieuw worden gebruikt als onderdeel van Oid retourwaarden in openbare API's om objecttoewijzingsprofielen te verminderen. Het voorkomt dat tijdelijke 'defensieve' kopieën moeten worden gemaakt wanneer Oid waarden worden gebruikt als invoer.
Geïntroduceerde versie
5,0
Aanbevolen actie
Vermijd het gebruik van de Oid eigenschapssetters anders dan voor object initialisatie. Als u een nieuwe waarde wilt weergeven, gebruikt u een nieuw exemplaar in plaats van de waarde voor een bestaand object te wijzigen.