Прочитать на английском

Поделиться через


Ошибка компилятора CS0415

Атрибут IndexerName применим только в индексаторе, который не является явным объявлением члена интерфейса

Эта ошибка возникает, если атрибут IndexerName используется в индексаторе, который является явной реализацией интерфейса. Этой ошибки можно избежать, удалив имя интерфейса из объявления индексатора, если это возможно. Дополнительные сведения см. в разделе Класс IndexerNameAttribute.

В следующем примере возникает ошибка 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()  
    {  
    }  
}