Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
| Eigenschappen | Weergegeven als | 
|---|---|
| Regel-id | CA2244 | 
| Titel | Initialisaties van geïndexeerde elementen niet dupliceren | 
| Categorie | Gebruik | 
| Oplossing is brekend of niet-brekend | Niet-brekend | 
| Standaard ingeschakeld in .NET 9 | Als suggestie | 
Oorzaak
Een object-initialisatiefunctie heeft meer dan één geïndexeerde element-initialisatiefunctie met dezelfde constante index. De laatste initialisatiefunctie is echter overbodig.
Beschrijving van regel
Met object-initialisatiefuncties kunt u waarden toewijzen aan toegankelijke velden of eigenschappen van een object tijdens het maken zonder dat u een constructor hoeft aan te roepen, gevolgd door regels toewijzingsinstructies.
Geïndexeerde element-initialisatiefuncties in object-initialisatiefuncties moeten unieke elementen initialiseren. Een dubbele index overschrijft een eerdere initialisatie van elementen.
Schendingen oplossen
Als u schendingen wilt oplossen, verwijdert u alle redundante geïndexeerde elementinitiatoren die worden overschreven door een van de volgende initialisatieprogramma's voor elementen. In het volgende codefragment ziet u bijvoorbeeld een schending van de regel en een aantal mogelijke oplossingen:
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
        };
    }
}
Tip
Er is een codeoplossing beschikbaar voor deze regel in Visual Studio. Als u deze wilt gebruiken, plaatst u de cursor op de schending en drukt u op Ctrl+. (punt). Kies Redundante element-initialisatiefunctie verwijderen uit de lijst met opties die worden weergegeven.
              
              
            
Wanneer waarschuwingen onderdrukken
Geen schendingen voor deze regel onderdrukken.