Поделиться через


В .NET 6 изменились имена параметров

Некоторые имена параметров были изменены, чтобы обеспечить согласованность между базовой сборкой и сборкой реализации. Большинство изменений произошли в базовой сборке, но несколько — в сборке реализации.

Прежнее поведение

Некоторые имена параметров базовой сборки отличаются от соответствующих им параметров в сборке реализации. Это может вызвать проблемы при использовании именованных аргументов и отражения.

Новое поведение

В .NET 6 эти несовпадающие имена параметров были обновлены для обеспечения согласованности между базовой сборкой и сборкой реализации.

В следующей таблице приведены измененные API-интерфейсы и имена параметров. Кроме того, были изменены некоторые имена параметров для Streamпроизводных типов .

API Старое имя параметра Новое имя параметра Где изменено
Attribute.GetCustomAttributes(MemberInfo, Type) type attributeType Базовая сборка и сборка реализации
Attribute.GetCustomAttributes(MemberInfo, Type, Boolean) type attributeType Базовая сборка и сборка реализации
Strings.InStr(Int32, String, String, CompareMethod) StartPos Start Базовая сборка
SortedList<TKey,TValue>.ICollection.CopyTo(Array, Int32) arrayIndex index Базовая сборка
Vector.Narrow source1, source2 low, high Базовая сборка
Vector.Widen dest1, dest2 low, high Базовая сборка
StreamWriter.WriteLine(ReadOnlySpan<Char>) value buffer Сборка реализации
FileStream.BeginRead(Byte[], Int32, Int32, AsyncCallback, Object) array, numBytes buffer, count Сборка реализации
FileStream.BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object) array, numBytes buffer, count Сборка реализации
MemoryStream.Read(Span<Byte>) destination buffer Базовая сборка
MemoryStream.ReadAsync(Memory<Byte>, CancellationToken) destination buffer Базовая сборка
MemoryStream.Write(ReadOnlySpan<Byte>) source buffer Базовая сборка
MemoryStream.WriteAsync(ReadOnlyMemory<Byte>, CancellationToken) source buffer Базовая сборка
UnmanagedMemoryStream.Read(Span<Byte>) destination buffer Базовая сборка
UnmanagedMemoryStream.Write(ReadOnlySpan<Byte>) source buffer Базовая сборка
SignerInfo.AddUnsignedAttribute(AsnEncodedData) asnEncodedData unsignedAttribute Базовая сборка
SignerInfo.RemoveUnsignedAttribute(AsnEncodedData) asnEncodedData unsignedAttribute Базовая сборка
Rfc3161TimestampRequest.ProcessResponse(ReadOnlyMemory<Byte>, Int32) source responseBytes Сборка реализации
Rfc3161TimestampToken.TryDecode(ReadOnlyMemory<Byte>, Rfc3161TimestampToken, Int32) source encodedBytes Сборка реализации
Rfc3161TimestampTokenInfo.Rfc3161TimestampTokenInfo(Oid, Oid, ReadOnlyMemory<Byte>, ReadOnlyMemory<Byte>, DateTimeOffset, Nullable<Int64>, Boolean, Nullable<ReadOnlyMemory<Byte>>, Nullable<ReadOnlyMemory<Byte>>, X509ExtensionCollection) tsaName timestampAuthorityName Сборка реализации
Rfc3161TimestampTokenInfo.TryDecode(ReadOnlyMemory<Byte>, Rfc3161TimestampTokenInfo, Int32) |
PrincipalPermission.Equals(Object) o obj Базовая сборка
UrlMembershipCondition.Equals(Object) o obj Базовая сборка
DBDataPermission(DBDataPermission) dataPermission permission Сборка реализации
DBDataPermission(DBDataPermissionAttribute) attribute permissionAttribute Сборка реализации
DBDataPermission(PermissionState, Boolean) blankPassword allowBlankPassword Сборка реализации
DBDataPermission.FromXml(SecurityElement) elem securityElement Сборка реализации
DBDataPermission.Union(IPermission) other target Сборка реализации

Причина изменения

  • В случаях, когда имена параметров базовой сборки были изменены, новые были сочтены более подходящими или удобочитаемыми и минимально прерываемыми.
  • В случаях, когда имена параметров среды выполнения были изменены для обеспечения согласованности между платформами или с базовыми сборками, реализация среды выполнения стала соответствовать общедоступному API и документации для метода.

Представленные версии

.NET 6

Если возникла ошибка компилятора из-за изменения имени параметра, измените имя параметра соответствующим образом.

Если для проверки методов используется отражение во время выполнения и есть зависимость от имен параметров, обновите код, чтобы использовать новые имена параметров.

Затронутые API

См. также