In .NET 6 geänderte Parameternamen

Einige Parameternamen wurden geändert, um Konsistenz zwischen Referenz- und Implementierungs-Assemblies zu gewährleisten. Die meisten Änderungen befinden sich in den Referenzassemblys, aber eine Handvoll befinden sich in den Implementierungsassemblys.

Vorheriges Verhalten

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

Neues Verhalten

In .NET 6 wurden diese nicht übereinstimmenden Parameternamen aktualisiert, um für alle Referenz- und Implementierungsassemblys konsistent zu sein.

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

Programmierschnittstelle (API) Alter Parametername Neuer Parametername Wo sich geändert hat
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 Ä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 Fällen, in denen die Namen von Laufzeitparametern geändert wurden, um Konsistenz über Plattformen oder mit Referenzassemblys zu erzielen, entspricht die Laufzeitimplementierung jetzt der öffentlichen API und Dokumentation für die Methode.

Eingeführte Version

.NET 6

Wenn aufgrund einer Änderung des Parameternamens ein Compilerfehler auftritt, aktualisieren Sie den Parameternamen entsprechend.

Wenn Sie die Laufzeitreflektion verwenden, um Methoden zu prüfen und eine Abhängigkeit von den Parameternamen zu nehmen, aktualisieren Sie den Code so, dass die neuen Parameternamen verwendet werden.

Betroffene APIs

Siehe auch