11

正如标题所述,我想将抽象类中的索引器声明object this[int index]为抽象成员。

这有可能吗?是否也可以在接口中声明它?

4

3 回答 3

18

当然

public abstract class ClassWithAbstractIndexer 
{
    public abstract int this[int index]
    {
        get;
        set;
    }
}
于 2011-10-02T12:01:25.940 回答
2

一个简单的例子:

public interface ITest
{
    int this[int index] { get;  }
}

public class Test : ITest
{
    public int this[int index]
    {
        get { ... }
        private set { .... }
    }
}

私有/受保护/抽象的几种组合是可能的,get并且set

于 2011-10-02T12:20:43.113 回答
0

你可以这样声明:

internal abstract class Hello
{
  public abstract int Indexer[int index]
  {
      get;
  }
}

然后,您可以选择仅get覆盖或同时覆盖getset

于 2011-10-02T12:37:18.300 回答