Megosztás a következőn keresztül:


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 8-ban Javaslatként

Ok

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: .

Szabály leírása

System.Environment.CurrentManagedThreadId a minta kompakt és hatékony cseréje Thread.CurrentThread.ManagedThreadId .

Szabálysértések kijavítása

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.

Code fix for CA1840 - Use 'Environment.CurrentManagedThreadId'

Mikor kell letiltani a figyelmeztetéseket?

Nyugodtan letilthatja a szabály megsértését, ha nem aggódik a használat Thread.CurrentThread.ManagedThreadIdteljesítményre gyakorolt hatása miatt.

Figyelmeztetés mellőzése

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.

Kapcsolódó információk