CA1840: A Environment.CurrentManagedThreadId használata Thread.CurrentThread.ManagedThreadId helyett
Tulajdonság | Érték |
---|---|
Szabályazonosító | CA1840 |
Cím | A Environment.CurrentManagedThreadId használata Thread.CurrentThread.ManagedThreadId helyett |
Kategória | Teljesítmény |
A javítás kompatibilitástörő vagy nem törik | Nem törés |
Alapértelmezés szerint engedélyezve a .NET 9-ben | Javaslatként |
Az aktuális felügyelt szálazonosító lekéréséhez használható Thread.CurrentThread.ManagedThreadId
ahelyett, hogy a következőt használnák System.Environment.CurrentManagedThreadId: .
System.Environment.CurrentManagedThreadId a minta kompakt és hatékony cseréje Thread.CurrentThread.ManagedThreadId
.
A szabálysértés manuálisan is kijavítható, vagy bizonyos esetekben a Gyorsműveletek segítségével kijavíthatja a kódot a Visual Studióban.
A következő két kódrészlet a szabály megsértését és a hiba elhárítását mutatja be:
using System.Threading;
class MyClass
{
void MyMethod()
{
int id = Thread.CurrentThread.ManagedThreadId; // Violation occurs
}
}
Imports System.Threading
Class MyClass
Private Sub MyMethod()
Dim id As Integer = Thread.CurrentThread.ManagedThreadId ' Violation occurs.
End Function
End Class
using System.Threading;
class MyClass
{
void MyMethod()
{
int id = System.Environment.CurrentManagedThreadId; // Violation fixed
}
}
Imports System.Threading
Class MyClass
Private Sub MyMethod()
Dim id As Integer = System.Environment.CurrentManagedThreadId ' Violation fixed.
End Function
End Class
Tipp.
Ehhez a szabályhoz kódjavítás érhető el a Visual Studióban. A használathoz helyezze a kurzort a szabálysértésre, és nyomja le a Ctrl+ billentyűt. (pont). A megjelenő lehetőségek listájában válassza a "Environment.CurrentManagedThreadId" lehetőséget.
Nyugodtan letilthatja a szabály megsértését, ha nem aggódik a használat Thread.CurrentThread.ManagedThreadId
teljesítményre gyakorolt hatása miatt.
Ha csak egyetlen szabálysértést szeretne letiltani, adjon hozzá előfeldolgozási irányelveket a forrásfájlhoz a szabály letiltásához és újbóli engedélyezéséhez.
#pragma warning disable CA1840
// The code that's violating the rule is on this line.
#pragma warning restore CA1840
Ha le szeretné tiltani egy fájl, mappa vagy projekt szabályát, állítsa annak súlyosságát none
a konfigurációs fájlban.
[*.{cs,vb}]
dotnet_diagnostic.CA1840.severity = none
További információ: Kódelemzési figyelmeztetések letiltása.
.NET-visszajelzés
A(z) .NET egy nyílt forráskód projekt. Visszajelzés adásához válasszon egy hivatkozást: