.NET 6 中的参数名称已更改

某些参数名称已更改,现与引用和实现程序集中的参数名称一致。 大多数更改位于引用程序集中,但也有少数更改发生在实现程序集中。

旧行为

某些引用程序集参数名称与实现程序集中的对应参数不同。 使用命名参数和反射时,这可能会导致出现问题。

新行为

在 .NET 6 中,这些不匹配的参数名称已更新,在引用和实现程序集中现在保持一致。

下表显示了更改的 API 和参数名称。 此外,更改了 Stream-derived 类型的一些参数名称。

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 source1source2 lowhigh 引用程序集
Vector.Widen dest1dest2 lowhigh 引用程序集
StreamWriter.WriteLine(ReadOnlySpan<Char>) value buffer 实现程序集
FileStream.BeginRead(Byte[], Int32, Int32, AsyncCallback, Object) arraynumBytes buffercount 实现程序集
FileStream.BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object) arraynumBytes buffercount 实现程序集
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

另请参阅