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 9-ben | Javaslatként |
A metódushívás argumentumaként HasFlag
átadott számtípus eltér a hívó szám típusától.
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.
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
}
}
Ne tiltsa el a szabály megsértését.
.NET-visszajelzés
A(z) .NET egy nyílt forráskód projekt. Visszajelzés adásához válasszon egy hivatkozást: