Ошибка компилятора CS0668
Обновлен: Ноябрь 2007
Сообщение об ошибке
Имена двух индексаторов различаются; для каждого индексатора в пределах типа следует использовать атрибут IndexerName с одним и тем же именем
Two indexers have different names; the IndexerName attribute must be used with the same name on every indexer within a type
Значение, переданное атрибуту 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()
{
}
}