System.Security.Cryptography.Oid jest funkcjonalnie inicjowany
Klasa System.Security.Cryptography.Oid , która jest używana do reprezentowania wartości identyfikatora obiektu ASN.1 i ich "przyjaznych" nazw, była wcześniej w pełni modyfikowalna. Ta niezmienność była często pomijana lub była zaskoczeniem. Zestawy właściwości zgłaszają PlatformNotSupportedException teraz wartość podczas próby zmiany wartości po jej przypisaniu.
Opis zmiany
W poprzednich wersjach metody ustawiania Oid właściwości można użyć do zmiany wartości FriendlyName właściwości i Value .
W wersjach .NET 5 i nowszych zestawy właściwości mogą służyć tylko do inicjowania wartości. Gdy właściwość ma wartość , z konstruktora lub poprzedniego wywołania do ustawiania właściwości, setter właściwości zawsze zgłasza PlatformNotSupportedExceptionwartość .
Przyczyna wprowadzenia zmiany
Ta zmiana umożliwia ponowne użycie Oid obiektów w ramach wartości zwracanych w publicznych interfejsach API w celu zmniejszenia profilów alokacji obiektów. Pozwala uniknąć konieczności tworzenia tymczasowych "defensywnych" kopii, gdy Oid wartości są używane jako dane wejściowe.
Wprowadzona wersja
5,0
Zalecana akcja
Unikaj używania Oid metod ustawiających właściwości innych niż w przypadku inicjowania obiektów. Aby reprezentować nową wartość, użyj nowego wystąpienia zamiast zmieniać wartość istniejącego obiektu.