다음을 통해 공유


.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

참고 항목