CA2244: Ne duplikálja az indexelt elemek inicializálását
Tulajdonság | Érték |
---|---|
Szabályazonosító | CA2244 |
Cím | Ne duplikálja az indexelt elemek inicializálását |
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 |
Az objektuminicializáló több indexelt eleminicializálóval rendelkezik, ugyanazzal az állandó indexel. Az utolsó inicializáló ki nem redundáns.
Az objektum inicializálói lehetővé teszik értékek hozzárendelését egy objektum bármely akadálymentes mezőjéhez vagy tulajdonságához a létrehozáskor anélkül, hogy konstruktort kellene meghívnia, amelyet a hozzárendelési utasítások sorai követnek.
Az objektum-inicializálók indexelt elem-inicializálóinak egyedi elemeket kell inicializálnia. A duplikált index felülír egy korábbi elem inicializálását.
A szabálysértések kijavításához távolítsa el az összes redundáns indexelt elem-inicializálót, amelyet a következő elem-inicializáló(k) felülírnak. A következő kódrészlet például a szabály megsértését és néhány lehetséges javítást mutat be:
using System.Collections.Generic;
class C
{
public void M()
{
var dictionary = new Dictionary<int, int>
{
[1] = 1, // CA2244
[2] = 2,
[1] = 3
};
}
}
using System.Collections.Generic;
class C
{
public void M()
{
var dictionary = new Dictionary<int, int>
{
[2] = 2,
[1] = 3
};
}
}
using System.Collections.Generic;
class C
{
public void M()
{
var dictionary = new Dictionary<int, int>
{
[1] = 1,
[2] = 2
};
}
}
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). Válassza a Redundáns elem inicializálójának eltávolítása lehetőséget a megjelenő lehetőségek listájából.
Ne tiltsa le 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: