编译器错误 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()
{
}
}