2011-10-02 6 views

risposta

14

Of course:

public abstract class ClassWithAbstractIndexer 
{ 
    public abstract int this[int index] 
    { 
     get; 
     set; 
    } 
} 
+1

Grazie! Ho provato a 'public abstract object this [int index];' then 'oggetto pubblico this [int index] {abstract get; } 'ma nessuno di loro ha funzionato. Come viene dichiarato in un'interfaccia? –

+1

Che cosa significa "nessuno di loro ha funzionato" significa? – Joe

+1

@ Fire-Dragon-DoL: Rimuovi 'abstract' da 'get' nella classe derivata. –

2

Un semplice esempio:

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

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

diverse combinazioni di/protetta/abstract privato sono possibili per get e set

+0

Grazie per il tuo suggerimento –

0

Si può dichiarare in questo modo:

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

Quindi è possibile sostituire solo get o sostituire sia get sia set.

Problemi correlati