Как гласит заголовок, я хотел бы объявить индексатор object this[int index] в абстрактном классе как абстрактный член.
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 { .... } } }
Возможно несколько комбинаций private / protected / abstract для get и set
get
set
Вы можете объявить это так:
internal abstract class Hello { public abstract int Indexer[int index] { get; } }
Тогда у вас будет возможность переопределить только get или переопределить get и set.