Errore del compilatore CS1921

Aggiornamento: novembre 2007

Messaggio di errore

Firma per l'elemento inizializzatore non corretta nella corrispondenza migliore del metodo di overload per 'method'. Il metodo Add inizializzabile deve essere un metodo di istanza accessibile.
The best overloaded method match for 'method' has wrong signature for the initializer element. The initializable Add must be an accessible instance method.

Questo errore viene generato quando si tenta di utilizzare un inizializzatore di insieme con una classe che non ha un metodo Add pubblico non statico. Se il metodo Add non è accessibile a causa del livello di protezione (private, protected, internal) verrà restituito CS0122, pertanto questo errore indica probabilmente che il metodo è definito come static.

Esempio

Nell'esempio seguente viene generato l'errore CS1921:

// cs1921.cs
using System.Collections;
public class C : CollectionBase
{
    public static void Add(int i)
    {
    }
}
public class Test
{
    public static void Main()
    {
        var collection = new C { 1, 2, 3 }; // CS1921
    }
}

Vedere anche

Riferimenti

Inizializzatori di oggetto e di insieme (Guida per programmatori C#)