Error del compilador CS0415

Actualización: noviembre 2007

Mensaje de error

El atributo 'IndexerName' sólo es válido en un indizador que no sea una declaración de miembro de interfaz explícita
The 'IndexerName' attribute is valid only on an indexer that is not an explicit interface member declaration

Este error se produce cuando se utiliza un atributo IndexerName en un indizador que es una implementación explícita de una interfaz. Se puede evitar quitando el nombre de interfaz de la declaración del indizador, si es posible. Para obtener más información, vea IndexerNameAttribute (Clase).

El código siguiente genera el error 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()
    {
    }
}