用于 System.Security.Cryptography.Oid 表示 ASN.1 对象标识符值及其“友好”名称的类以前是完全可变的。 这种可变性经常被忽视或出人意料。 现在,当尝试在值已经被分配后更改它时,属性设定器会抛出 PlatformNotSupportedException。
更改描述
在以前的版本中,Oid 上的属性资源库可用于更改 FriendlyName 和 Value 属性的值。
在 .NET 5 及更高版本中,属性资源库只能用于初始化值。 属性具有值后,无论是从构造函数还是以前版本调用属性资源库,属性资源库始终引发 PlatformNotSupportedException。
更改原因
通过此更改,可以重用 Oid 对象作为公共 API 的返回值的一部分,以减少对象分配模式。 使用 Oid 作为输入值时,无需创建临时的“防御性”副本。
已引入的版本
5.0
建议的措施
避免使用Oid属性设置器,除非用于对象初始化。 若要表示新值,请使用新实例,而不是更改现有对象上的值。