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

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


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

Невозможно назначить атрибут IndexerName для индексатора, помеченного как override

Атрибут name (IndexerNameAttribute) не может применяться к индексированному свойству, которое является переопределением. Дополнительные сведения см. в разделе Индексаторы.

В следующем примере возникает ошибка CS0609.

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

public class idx
{
   public virtual int this[int iPropIndex]
   {
      get
      {
         return 0;
      }
      set
      {
      }
   }
}

public class MonthDays : idx
{
   [IndexerName("MonthInfoIndexer")]   // CS0609, delete to resolve this CS0609
   public override int this[int iPropIndex]
   {
      get
      {
         return 0;
      }
      set
      {
      }
   }
}

public class test
{
   public static void Main(string[] args)
   {
   }
}

Примечание

Эта ошибка компилятора больше не используется в Roslyn. Предыдущий код должен успешно скомпилироваться.