我正在尝试在抽象类上使用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重命名为其他名称,则该问题将得到解决,也可以考虑在herehere上的IndexerName上检查此相关问题。

10-06 16:11