Errore del compilatore CS0415

Aggiornamento: novembre 2007

Messaggio di errore

L'attributo 'IndexerName' è valido solo in un indicizzatore che non è una dichiarazione esplicita dell'interfaccia del membro.
The 'IndexerName' attribute is valid only on an indexer that is not an explicit interface member declaration

Questo errore si verifica quando si utilizza un attributo IndexerName in un indicizzatore che rappresenta un'implementazione esplicita di un'interfaccia. Per correggere l'errore, rimuovere il nome dell'interfaccia dalla dichiarazione dell'indicizzatore, se possibile. Per ulteriori informazioni, vedere Classe IndexerNameAttribute.

Il seguente codice di esempio genera l'errore CS0415:

// CS0415.cs
using System;
using System.Runtime.CompilerServices;

public interface IA
{
    int this[int index]
    {
        get;
        set;
    }
}

public class A : IA
{
    [IndexerName("Item")]  // CS0415
    int IA.this[int index]
    // Try this line instead:
    // public int this[int index]
    {
        get { return 0; }
        set { }
    }

    static void Main()
    {
    }
}