Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
La System.Security.Cryptography.Oid classe, utilisée pour représenter les valeurs de l’identificateur d’objet ASN.1 et leurs noms « conviviaux », était auparavant entièrement mutable. Cette mutabilité a souvent été négligée ou a pris par surprise. Les setters de propriétés lèvent maintenant une exception PlatformNotSupportedException lorsque vous tentez de modifier la valeur une fois qu’elle a déjà été affectée.
Description de la modification
Dans les versions précédentes, les setters de propriétés sur Oid peuvent être utilisés pour modifier la valeur des propriétés FriendlyName et Value.
Dans .NET 5 et versions ultérieures, les setters de propriétés ne peuvent être utilisés que pour initialiser la valeur. Une fois que la propriété a une valeur, à partir d’un constructeur ou d’un appel précédent au setter de propriétés, le setter de propriétés lève toujours une exception PlatformNotSupportedException.
Raison de la modification
Cette modification permet la réutilisation des Oid objets dans le cadre des valeurs de retour dans les API publiques pour réduire les profils d’allocation d’objets. Il évite la nécessité de créer des copies temporaires « défensives » lorsque Oid les valeurs sont utilisées comme entrées.
Version introduite
5,0
Action recommandée
Évitez d’utiliser les setters de propriétés Oid autres que pour l’initialisation d’objet. Pour représenter une nouvelle valeur, utilisez une nouvelle instance au lieu de modifier la valeur sur un objet existant.