2012-03-06 10 views

Respuesta

27

Sí, es posible. De hecho, todo lo que te falta es el getter/setter en tu indexador. Sólo tiene que añadir la siguiente manera:

interface IIndexable<T> 
{ 
    T this[string index] {get; set;} 
} 
10

De MSDN:

public interface ISomeInterface 
{ 
    //... 

    // Indexer declaration: 
    string this[int index] 
    { 
     get; 
     set; 
    } 
} 

indexadores pueden ser declarados en una interfaz (Referencia de C#). Descriptores de acceso de indizadores de interfaz difieren de los descriptores de acceso de indexadores de clase en los siguientes maneras: accessors

  • de interfaz no usan modificadores.
  • Un acceso de interfaz no tiene un cuerpo.
1

Un poco más interfaz genérica (tomado de IDictionary<,>), sería:

interface IIndexable<TKey, TValue> 
{ 
    TValue this[TKey key] { get; set; } 
} 

Yo sólo pregunto por qué no lo incluye en mscorlib, de manera que IDictionary podría ponerlo en práctica. Hubiera tenido sentido.

Cuestiones relacionadas