다음을 통해 공유


.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

참고하십시오