Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Die System.Security.Cryptography.Oid-Klasse, die verwendet wird, um ASN.1 Object Identifier-Werte und ihre "benutzerfreundlichen" Namen darzustellen, war zuvor vollständig änderbar. Diese Änderbarkeit wurde oft übersehen oder kam als Überraschung. Die Eigenschaftensatzer lösen jetzt einen PlatformNotSupportedException Aus, wenn Sie versuchen, den Wert zu ändern, nachdem er bereits zugewiesen wurde.
Änderungsbeschreibung
In früheren Versionen können die Eigenschaftensetzer Oid verwendet werden, um die Werte der Eigenschaften FriendlyName und Value zu ändern.
In .NET 5 und höheren Versionen können die Eigenschaftensatzer nur zum Initialisieren des Werts verwendet werden. Wenn die Eigenschaft entweder durch einen Konstruktor oder einen vorherigen Aufruf des Eigenschaftensetters über einen Wert verfügt, löst der Eigenschaftensetter immer eine PlatformNotSupportedException-Klasse aus.
Grund für Änderung
Diese Änderung ermöglicht die Wiederverwendung von Oid Objekten als Teil von Rückgabewerten in öffentlichen APIs, um Objektzuordnungsprofile zu reduzieren. Es vermeidet die Notwendigkeit, temporäre "defensiv"-Kopien zu erstellen, wenn Oid Werte als Eingaben verwendet werden.
Eingeführte Version
5.0
Empfohlene Aktion
Vermeiden Sie die Verwendung der Oid-Eigenschaftensetter (außer bei der Objektinitialisierung). Um einen neuen Wert darzustellen, verwenden Sie eine neue Instanz, anstatt den Wert für ein vorhandenes Objekt zu ändern.