Změna názvů parametrů v .NET 6
Některé názvy parametrů se změnily tak, aby byly konzistentní mezi referenčními a implementačními sestaveními. Většina změn je v referenčních sestaveních, ale několik je v implementačních sestaveních.
Předchozí chování
Některé názvy parametrů sestavení odkazů se v sestavení implementace odlišily od odpovídajících parametrů. To může způsobit problémy při používání pojmenovaných argumentů a reflexe.
Nové chování
V .NET 6 byly tyto neshodné názvy parametrů aktualizovány tak, aby byly konzistentní napříč referenčními a implementačními sestaveními.
Následující tabulka uvádí rozhraní API a názvy parametrů, které se změnily. Kromě toho byly změněny některé názvy parametrů u Stream
odvozených typů .
Důvod změny
- V případech, kdy byly změněny názvy parametrů sestavení odkazu, byly nové názvy považovány za vhodnější nebo čitelnější a minimálně způsobující chyby.
- V případech, kdy byly názvy parametrů modulu runtime změněny tak, aby získaly konzistenci napříč platformami nebo s referenčními sestaveními, teď implementace modulu runtime odpovídá veřejnému rozhraní API a dokumentaci pro metodu.
Zavedená verze
.NET 6
Doporučená akce
Pokud dojde k chybě kompilátoru kvůli změně názvu parametru, odpovídajícím způsobem aktualizujte název parametru.
Pokud použijete reflexi za běhu ke kontrole metod a závislost na názvech parametrů, aktualizujte kód tak, aby používal nové názvy parametrů.
Ovlivněná rozhraní API
- Microsoft.VisualBasic.Strings.InStr(Int32, String, String, CompareMethod)
- System.Attribute.GetCustomAttributes(MemberInfo, Type)
- System.Attribute.GetCustomAttributes(MemberInfo, Type, Boolean)
- System.Collections.Generic.SortedList<TKey,TValue>.System.Collections.ICollection.CopyTo(Array, Int32)
- System.IO.StreamWriter.WriteLine(ReadOnlySpan<Char>)
- System.IO.FileStream.BeginRead(Byte[], Int32, Int32, AsyncCallback, Object)
- System.IO.FileStream.BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object)
- System.IO.MemoryStream.Read(Span<Byte>)
- System.IO.MemoryStream.ReadAsync(Memory<Byte>, CancellationToken)
- System.IO.MemoryStream.Write(ReadOnlySpan<Byte>)
- System.IO.MemoryStream.WriteAsync(ReadOnlyMemory<Byte>, CancellationToken)
- System.IO.UnmanagedMemoryStream.Read(Span<Byte>)
- System.IO.UnmanagedMemoryStream.Write(ReadOnlySpan<Byte>)
- System.Numerics.Vector.Narrow
- System.Numerics.Vector.Widen
- System.Security.Cryptography.Pkcs.Rfc3161TimestampRequest.ProcessResponse(ReadOnlyMemory<Byte>, Int32)
- System.Security.Cryptography.Pkcs.Rfc3161TimestampToken.TryDecode(ReadOnlyMemory<Byte>, Rfc3161TimestampToken, Int32)
- System.Security.Cryptography.Pkcs.Rfc3161TimestampTokenInfo.Rfc3161TimestampTokenInfo(Oid, Oid, ReadOnlyMemory<Byte>, ReadOnlyMemory<Byte>, DateTimeOffset, Nullable<Int64>, Boolean, Nullable<ReadOnlyMemory<Byte>>, Nullable<ReadOnlyMemory<Byte>>, X509ExtensionCollection)
- System.Security.Cryptography.Pkcs.Rfc3161TimestampTokenInfo.TryDecode(ReadOnlyMemory<Byte>, Rfc3161TimestampTokenInfo, Int32)
- System.Security.Cryptography.Pkcs.SignerInfo.AddUnsignedAttribute(AsnEncodedData)
- System.Security.Cryptography.Pkcs.SignerInfo.RemoveUnsignedAttribute(AsnEncodedData)
- System.Security.Permissions.PrincipalPermission.Equals(Object)
- System.Security.Policy.UrlMembershipCondition.Equals(Object)
- DBDataPermission(DBDataPermission)
- DBDataPermission(DBDataPermissionAttribute)
- DBDataPermission(PermissionState, Boolean)
- System.Data.Common.DBDataPermission.FromXml(SecurityElement)
- System.Data.Common.DBDataPermission.Union(IPermission)