Los nombres de parámetros se han modificado en .NET 6

Algunos nombres de parámetros se han modificado para que sean coherentes entre los ensamblados de referencia e implementación. La mayoría de los cambios están en los ensamblados de referencia, pero algunos están en los ensamblados de implementación.

Comportamiento anterior

Algunos nombres de parámetros de ensamblado de referencia eran diferentes a sus parámetros correspondientes en el ensamblado de implementación. Esto puede producir problemas al usar argumentos con nombre y reflexión.

Comportamiento nuevo

En .NET 6, estos nombres de parámetros no coincidentes se actualizaron para que fueran coherentes entre los ensamblados de referencia e implementación.

En esta tabla se muestran las API y los nombres de los parámetros que han cambiado. Además, se cambiaron algunos nombres de parámetro en tipos derivados de Stream.

API Nombre del parámetro antiguo Nombre del parámetro nuevo Dónde se ha cambiado
Attribute.GetCustomAttributes(MemberInfo, Type) type attributeType Ensamblado de referencia e implementación
Attribute.GetCustomAttributes(MemberInfo, Type, Boolean) type attributeType Ensamblado de referencia e implementación
Strings.InStr(Int32, String, String, CompareMethod) StartPos Start Ensamblado de referencia
SortedList<TKey,TValue>.ICollection.CopyTo(Array, Int32) arrayIndex index Ensamblado de referencia
Vector.Narrow source1, source2 low, high Ensamblado de referencia
Vector.Widen dest1, dest2 low, high Ensamblado de referencia
StreamWriter.WriteLine(ReadOnlySpan<Char>) value buffer Ensamblado de implementación
FileStream.BeginRead(Byte[], Int32, Int32, AsyncCallback, Object) array, numBytes buffer, count Ensamblado de implementación
FileStream.BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object) array, numBytes buffer, count Ensamblado de implementación
MemoryStream.Read(Span<Byte>) destination buffer Ensamblado de referencia
MemoryStream.ReadAsync(Memory<Byte>, CancellationToken) destination buffer Ensamblado de referencia
MemoryStream.Write(ReadOnlySpan<Byte>) source buffer Ensamblado de referencia
MemoryStream.WriteAsync(ReadOnlyMemory<Byte>, CancellationToken) source buffer Ensamblado de referencia
UnmanagedMemoryStream.Read(Span<Byte>) destination buffer Ensamblado de referencia
UnmanagedMemoryStream.Write(ReadOnlySpan<Byte>) source buffer Ensamblado de referencia
SignerInfo.AddUnsignedAttribute(AsnEncodedData) asnEncodedData unsignedAttribute Ensamblado de referencia
SignerInfo.RemoveUnsignedAttribute(AsnEncodedData) asnEncodedData unsignedAttribute Ensamblado de referencia
Rfc3161TimestampRequest.ProcessResponse(ReadOnlyMemory<Byte>, Int32) source responseBytes Ensamblado de implementación
Rfc3161TimestampToken.TryDecode(ReadOnlyMemory<Byte>, Rfc3161TimestampToken, Int32) source encodedBytes Ensamblado de implementación
Rfc3161TimestampTokenInfo.Rfc3161TimestampTokenInfo(Oid, Oid, ReadOnlyMemory<Byte>, ReadOnlyMemory<Byte>, DateTimeOffset, Nullable<Int64>, Boolean, Nullable<ReadOnlyMemory<Byte>>, Nullable<ReadOnlyMemory<Byte>>, X509ExtensionCollection) tsaName timestampAuthorityName Ensamblado de implementación
Rfc3161TimestampTokenInfo.TryDecode(ReadOnlyMemory<Byte>, Rfc3161TimestampTokenInfo, Int32) |
PrincipalPermission.Equals(Object) o obj Ensamblado de referencia
UrlMembershipCondition.Equals(Object) o obj Ensamblado de referencia
DBDataPermission(DBDataPermission) dataPermission permission Ensamblado de implementación
DBDataPermission(DBDataPermissionAttribute) attribute permissionAttribute Ensamblado de implementación
DBDataPermission(PermissionState, Boolean) blankPassword allowBlankPassword Ensamblado de implementación
DBDataPermission.FromXml(SecurityElement) elem securityElement Ensamblado de implementación
DBDataPermission.Union(IPermission) other target Ensamblado de implementación

Motivo del cambio

  • En los casos en los que se cambiaron los nombres de los parámetros de ensamblado de referencia, se consideró que los nuevos nombres eran más adecuados o legibles y la interrupción era mínima.
  • En los casos en los que los nombres de los parámetros en tiempo de ejecución se cambiaron para ganar coherencia entre plataformas o con ensamblajes de referencia, la implementación en tiempo de ejecución ahora coincide con la API pública y la documentación del método.

Versión introducida

.NET 6

Si se produce un error del compilador debido a un cambio de nombre de un parámetro, actualice el nombre del parámetro en consecuencia.

Si usa la reflexión en tiempo de ejecución para inspeccionar los métodos y ha tomado una dependencia de los nombres de parámetros, actualice el código para usar los nuevos nombres de parámetros.

API afectadas

Vea también