我正在尝试在抽象类上使用IndexerName属性重命名我的indexer属性。但是它仍然显示编译错误类型'XXX'已经包含对'Item'的定义。
抽象类:
public abstract class MyAbstract
{
[IndexerName("Indexer")]
public abstract string this[string propertyName]
{
get;
}
}
具体类别:
public class MyConcrete : MyAbstract
{
string item;
public string Item
{
get { return item; }
set { item = value; }
}
public override string this[string propertyName]
{
get { return propertyName; }
}
}
编译错误:
我尝试将IndexerName放在索引器替代上,它显示错误“无法在标记为替代的索引器上设置IndexerName属性”
如何在抽象类上使用IndexerName?
提前致谢。
最佳答案
如果您只是将Item
重命名为其他名称,则该问题将得到解决,也可以考虑在here和here上的IndexerName
上检查此相关问题。