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

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


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

Имена двух индексаторов различаются; для каждого индексатора в пределах типа следует использовать атрибут IndexerName с одним и тем же именем.

Значение, переданное атрибуту IndexerName , должно быть одним и тем же для всех индексаторов в типе. Дополнительные сведения об атрибуте IndexerName см. в разделе Класс IndexerNameAttribute.

Следующий пример приводит к возникновению ошибки CS0668:

// CS0668.cs  
using System;  
using System.Runtime.CompilerServices;  
  
class IndexerClass  
{  
   [IndexerName("IName1")]  
   public int this [int index]   // indexer declaration  
   {  
      get  
      {  
         return index;  
      }  
      set  
      {  
      }  
   }  
  
   [IndexerName("IName2")]  
   public int this [string s]    // CS0668, change IName2 to IName1  
   {  
      get  
      {  
         return int.Parse(s);  
      }  
      set  
      {  
      }  
   }  
  
   void Main()  
   {  
   }  
}