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
.
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
Acción recomendada
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
- Microsoft.VisualBasic.Strings.InStr(Int32, String, String, CompareMethod)
- System.Attribute.GetCustomAttributes(MemberInfo, Type)
- System.Attribute.GetCustomAttributes(MemberInfo, Type, Boolean)
- System.Collections.Generic.SortedList<TKey,TValue>.System.Collections.ICollection.CopyTo(Array, Int32)
- System.IO.StreamWriter.WriteLine(ReadOnlySpan<Char>)
- System.IO.FileStream.BeginRead(Byte[], Int32, Int32, AsyncCallback, Object)
- System.IO.FileStream.BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object)
- System.IO.MemoryStream.Read(Span<Byte>)
- System.IO.MemoryStream.ReadAsync(Memory<Byte>, CancellationToken)
- System.IO.MemoryStream.Write(ReadOnlySpan<Byte>)
- System.IO.MemoryStream.WriteAsync(ReadOnlyMemory<Byte>, CancellationToken)
- System.IO.UnmanagedMemoryStream.Read(Span<Byte>)
- System.IO.UnmanagedMemoryStream.Write(ReadOnlySpan<Byte>)
- System.Numerics.Vector.Narrow
- System.Numerics.Vector.Widen
- System.Security.Cryptography.Pkcs.Rfc3161TimestampRequest.ProcessResponse(ReadOnlyMemory<Byte>, Int32)
- System.Security.Cryptography.Pkcs.Rfc3161TimestampToken.TryDecode(ReadOnlyMemory<Byte>, Rfc3161TimestampToken, Int32)
- System.Security.Cryptography.Pkcs.Rfc3161TimestampTokenInfo.Rfc3161TimestampTokenInfo(Oid, Oid, ReadOnlyMemory<Byte>, ReadOnlyMemory<Byte>, DateTimeOffset, Nullable<Int64>, Boolean, Nullable<ReadOnlyMemory<Byte>>, Nullable<ReadOnlyMemory<Byte>>, X509ExtensionCollection)
- System.Security.Cryptography.Pkcs.Rfc3161TimestampTokenInfo.TryDecode(ReadOnlyMemory<Byte>, Rfc3161TimestampTokenInfo, Int32)
- System.Security.Cryptography.Pkcs.SignerInfo.AddUnsignedAttribute(AsnEncodedData)
- System.Security.Cryptography.Pkcs.SignerInfo.RemoveUnsignedAttribute(AsnEncodedData)
- System.Security.Permissions.PrincipalPermission.Equals(Object)
- System.Security.Policy.UrlMembershipCondition.Equals(Object)
- DBDataPermission(DBDataPermission)
- DBDataPermission(DBDataPermissionAttribute)
- DBDataPermission(PermissionState, Boolean)
- System.Data.Common.DBDataPermission.FromXml(SecurityElement)
- System.Data.Common.DBDataPermission.Union(IPermission)