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 に答える