CA2248: Adja meg a helyes enum argumentumot az Enum.HasFlag függvénynek
Tulajdonság | Érték |
---|---|
Szabályazonosító | CA2248 |
Cím | Adja meg a megfelelő enum argumentumot az Enum.HasFlag függvényhez |
Kategória | Használat |
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
A metódushívás argumentumaként HasFlag
átadott számtípus eltér a hívó szám típusától.
Szabály leírása
A Enum.HasFlag
metódus elvárja, hogy az enum
argumentum ugyanolyan enum
típusú legyen, mint az a példány, amelyen a metódust meghívják. Ha ezek különböző enum
típusok, a rendszer futásidőben nem kezelt kivételt küld.
Szabálysértések kijavítása
A szabálysértések kijavításához használja ugyanazt a számtípust az argumentumon és a hívón is:
public class C
{
[Flags]
public enum MyEnum { A, B, }
[Flags]
public enum OtherEnum { A, }
public void Method(MyEnum m)
{
m.HasFlag(OtherEnum.A); // Enum types are different, this call will cause an `ArgumentException` to be thrown at run time
m.HasFlag(MyEnum.A); // Valid call
}
}
Mikor kell letiltani a figyelmeztetéseket?
Ne tiltsa el a szabály megsértését.
Dolgozzon együtt velünk a GitHubon
A tartalom forrása a GitHubon található, ahol létrehozhat és áttekinthet problémákat és lekéréses kérelmeket is. További információért tekintse meg a közreműködői útmutatónkat.
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: