SYSLIB0054: Thread.VolatileRead a Thread.VolatileWrite jsou zastaralé
Všechna přetížení Thread.VolatileRead a Thread.VolatileWrite metody jsou zastaralé, počínaje rozhraním .NET 9. Volání v kódu generuje upozornění SYSLIB0054
v době kompilace.
Důvod obsoletion
Implementace 64bitového přetížení Thread.VolatileRead rozhraní .NET Framework a Thread.VolatileWrite metod měla nesprávnou atomicitu. V .NET (Core) se implementace změnila tak, aby delegovala na Volatile.Read sémantiku a Volatile.Writev uvedeném pořadí poskytovala správnou sémantiku získání/vydání. Kromě toho metody ve Thread třídě nezahrnují přetížení, které přijímá logický argument, zatímco Volatile metody dělají. Metody byly zastaralé, aby podporovaly Volatile používání metod.
Alternativní řešení
Zavolejte Volatile.Read nebo Volatile.Write místo toho.
Potlačení upozornění
Pokud musíte použít zastaralá rozhraní API, můžete potlačit upozornění v kódu nebo v souboru projektu.
Chcete-li potlačit pouze jedno porušení, přidejte do zdrojového souboru direktivy preprocesoru, které chcete zakázat a znovu povolit upozornění.
// Disable the warning.
#pragma warning disable SYSLIB0054
// Code that uses obsolete API.
// ...
// Re-enable the warning.
#pragma warning restore SYSLIB0054
Pokud chcete potlačit všechna SYSLIB0054
upozornění v projektu, přidejte <NoWarn>
do souboru projektu vlastnost.
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
...
<NoWarn>$(NoWarn);SYSLIB0054</NoWarn>
</PropertyGroup>
</Project>
Další informace naleznete v tématu Potlačení upozornění.