2011-10-02 15 views

Respuesta

14

Of course:

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

Gracias! Intenté 'public abstract object this [int index];' then 'public object this [int index] {abstract get; } 'pero ninguno de ellos funcionó. ¿Cómo se declara en una interfaz? –

+1

¿Qué significa "ninguno de ellos funcionó" significa? – Joe

+1

@ Fire-Dragon-DoL: elimine 'abstract' de su' get' en su clase derivada. –

2

Un ejemplo sencillo:

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

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

Varias combinaciones de/protected/abstracta privada son posibles para get y set

+0

Gracias por su sugerencia –

0

Se pueden declarar así:

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

Luego tendrá la opción de anular solo get o anular get y set.

Cuestiones relacionadas