Przeczytaj w języku angielskim

Udostępnij za pośrednictwem


Błąd kompilatora CS0415

Atrybut "IndexerName" jest prawidłowy tylko w indeksatorze, który nie jest jawną deklaracją składową interfejsu

Ten błąd występuje, jeśli używasz atrybutu IndexerName w indeksatorze, który był jawną implementacją interfejsu. Ten błąd można uniknąć, usuwając nazwę interfejsu z deklaracji indeksatora, jeśli to możliwe. Aby uzyskać więcej informacji, zobacz IndexerNameAttribute Class (Klasa IndexerNameAttribute).

Poniższy przykład generuje 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()  
    {  
    }  
}