CS0668 de erro do compilador

Mensagem de erro

Os dois indexadores têm nomes diferentes; o atributo IndexerName deve ser usado com o mesmo nome em cada indexador em um tipo

Os valores passados para o IndexerName atributo deve ser o mesmo para todos os indexadores em um tipo.Para obter mais informações sobre o IndexerName atributo, consulte Classe IndexerNameAttribute.

O exemplo a seguir gera 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()
   {
   }
}