Parameternamen in .NET 6 geändert

Einige Parameternamen wurden so geändert, dass sie zwischen Referenz- und Implementierungsassemblys konsistent sind. Die meisten Änderungen wurden an den Referenzassemblys, ein paar jedoch an den Implementierungsassemblys vorgenommen.

Vorheriges Verhalten

Einige Parameternamen in Referenzassemblys unterschieden sich von den entsprechenden Parametern in der Implementierungsassembly. Dies kann Probleme bei der Verwendung von benannten Argumenten und Reflexion verursachen.

Neues Verhalten

In .NET 6 wurden diese nicht übereinstimmenden Parameternamen aktualisiert, damit sie in den Referenz- und Implementierungsassemblys konsistent sind.

In der folgenden Tabelle sind die APIs und Parameternamen aufgeführt, die sich geändert haben. Darüber hinaus wurden einige Parameternamen für Stream-abgeleitete Typen geändert.

API Alter Parametername Neuer Parametername Geänderte Stelle
Attribute.GetCustomAttributes(MemberInfo, Type) type attributeType Referenz- und Implementierungsassembly
Attribute.GetCustomAttributes(MemberInfo, Type, Boolean) type attributeType Referenz- und Implementierungsassembly
Strings.InStr(Int32, String, String, CompareMethod) StartPos Start Referenzassembly
SortedList<TKey,TValue>.ICollection.CopyTo(Array, Int32) arrayIndex index Referenzassembly
Vector.Narrow source1, source2 low, high Referenzassembly
Vector.Widen dest1, dest2 low, high Referenzassembly
StreamWriter.WriteLine(ReadOnlySpan<Char>) value buffer Implementierungsassembly
FileStream.BeginRead(Byte[], Int32, Int32, AsyncCallback, Object) array, numBytes buffer, count Implementierungsassembly
FileStream.BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object) array, numBytes buffer, count Implementierungsassembly
MemoryStream.Read(Span<Byte>) destination buffer Referenzassembly
MemoryStream.ReadAsync(Memory<Byte>, CancellationToken) destination buffer Referenzassembly
MemoryStream.Write(ReadOnlySpan<Byte>) source buffer Referenzassembly
MemoryStream.WriteAsync(ReadOnlyMemory<Byte>, CancellationToken) source buffer Referenzassembly
UnmanagedMemoryStream.Read(Span<Byte>) destination buffer Referenzassembly
UnmanagedMemoryStream.Write(ReadOnlySpan<Byte>) source buffer Referenzassembly
SignerInfo.AddUnsignedAttribute(AsnEncodedData) asnEncodedData unsignedAttribute Referenzassembly
SignerInfo.RemoveUnsignedAttribute(AsnEncodedData) asnEncodedData unsignedAttribute Referenzassembly
Rfc3161TimestampRequest.ProcessResponse(ReadOnlyMemory<Byte>, Int32) source responseBytes Implementierungsassembly
Rfc3161TimestampToken.TryDecode(ReadOnlyMemory<Byte>, Rfc3161TimestampToken, Int32) source encodedBytes Implementierungsassembly
Rfc3161TimestampTokenInfo.Rfc3161TimestampTokenInfo(Oid, Oid, ReadOnlyMemory<Byte>, ReadOnlyMemory<Byte>, DateTimeOffset, Nullable<Int64>, Boolean, Nullable<ReadOnlyMemory<Byte>>, Nullable<ReadOnlyMemory<Byte>>, X509ExtensionCollection) tsaName timestampAuthorityName Implementierungsassembly
Rfc3161TimestampTokenInfo.TryDecode(ReadOnlyMemory<Byte>, Rfc3161TimestampTokenInfo, Int32) |
PrincipalPermission.Equals(Object) o obj Referenzassembly
UrlMembershipCondition.Equals(Object) o obj Referenzassembly
DBDataPermission(DBDataPermission) dataPermission permission Implementierungsassembly
DBDataPermission(DBDataPermissionAttribute) attribute permissionAttribute Implementierungsassembly
DBDataPermission(PermissionState, Boolean) blankPassword allowBlankPassword Implementierungsassembly
DBDataPermission.FromXml(SecurityElement) elem securityElement Implementierungsassembly
DBDataPermission.Union(IPermission) other target Implementierungsassembly

Grund für die Änderung

  • In den Fällen, in denen die Namen der Referenzassemblyparameter geändert wurden, wurden die neuen Namen als besser geeignet oder lesbar sowie als minimale Breaking Changes eingestuft.
  • In den Fällen, in denen die Namen von Laufzeitparametern geändert wurden, um plattformübergreifende Konsistenz oder Konsistenz mit Referenzassemblys zu erzielen, entspricht die Laufzeitimplementierung jetzt der öffentlichen API und der Dokumentation für die Methode.

Eingeführt in Version

.NET 6

Wenn aufgrund der Änderung eines Parameternamens ein Compilerfehler auftritt, aktualisieren Sie den Parameternamen entsprechend.

Wenn Sie die Laufzeitreflexion zum Untersuchen von Methoden einsetzen und eine Abhängigkeit von den Parameternamen verwendet haben, aktualisieren Sie den Code, sodass die neuen Parameternamen verwendet werden.

Betroffene APIs

Siehe auch