Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
CA1850: A statikus
Tulajdonság | Érték |
---|---|
Szabályazonosító | CA1850 |
Cím |
HashData Statikus módszer előnyben részesítveComputeHash |
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 |
Ok
A metódus meghívásához HashAlgorithm létrejön egy olyan típuspéldány, amelyből ComputeHash
származik, és ennek a típusnak statikus HashData
metódusa van.
Szabály leírása
A .NET 5-ben a következő típusok esetében vezettek be statikus HashData
metódusokat:
Ezek a módszerek megkönnyítik a kód használatát olyan esetekben, amikor csak kivonatolni szeretne néhány adatot.
Hatékonyabb a statikus HashData
metódusok használata, mint egy HashAlgorithm
meghívandó ComputeHash
példány létrehozása és kezelése.
Szabálysértések kijavítása
A szabályt általában úgy lehet kijavítani, hogy módosítja a kódot, hogy meghívja HashData
és eltávolítsa a HashAlgorithm
példány használatát.
public bool CheckHash(byte[] buffer)
{
using (var sha256 = SHA256.Create())
{
byte[] digest = sha256.ComputeHash(buffer);
return DoesHashExist(digest);
}
}
Public Function CheckHash(buffer As Byte()) As Boolean
Using sha256 As SHA256 = SHA256.Create()
Dim digest As Byte() = sha256.ComputeHash(buffer)
Return DoesHashExist(digest)
End Using
End Function
Az előző kód módosítható úgy, hogy közvetlenül meghívja a statikus HashData(Byte[]) metódust.
public bool CheckHash(byte[] buffer)
{
byte[] digest = SHA256.HashData(buffer);
return DoesHashExist(digest);
}
Public Function CheckHash(buffer As Byte()) As Boolean
Dim digest As Byte() = SHA256.HashData(buffer)
Return DoesHashExist(digest)
End Function
Mikor kell letiltani a figyelmeztetéseket?
A szabály figyelmeztetésének mellőzése biztonságos.
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 CA1850
// The code that's violating the rule is on this line.
#pragma warning restore CA1850
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.CA1850.severity = none
További információ: Kódelemzési figyelmeztetések letiltása.