object this[int index]
タイトルにあるように、抽象クラスのインデクサーを抽象メンバーとして宣言したいと思います。
これはどうにか可能ですか?インターフェイスでもこれを宣言することは可能ですか?
もちろん:
public abstract class ClassWithAbstractIndexer
{
public abstract int this[int index]
{
get;
set;
}
}
簡単な例:
public interface ITest
{
int this[int index] { get; }
}
public class Test : ITest
{
public int this[int index]
{
get { ... }
private set { .... }
}
}
get
およびでは、非公開/保護/抽象のいくつかの組み合わせが可能です。set
次のように宣言できます。
internal abstract class Hello
{
public abstract int Indexer[int index]
{
get;
}
}
次に、 のみをオーバーライドするか、 と の両方をオーバーライドするかを選択できget
ます。get
set