El operador [] se llama un indexador. Puede proporcionar indizadores que tomen un número entero, una cadena o cualquier otro tipo que desee usar como clave. La sintaxis es sencilla, siguiendo los mismos principios que los accesadores de propiedades.
Por ejemplo, en el caso en que un int
es el índice o clave:
public int this[int index]
{
get
{
return GetValue(index);
}
}
También puede agregar un acceso set para que el indexador se convierte en leer y escribir en lugar de sólo lectura.
public int this[int index]
{
get
{
return GetValue(index);
}
set
{
SetValue(index, value);
}
}
Si quiere cambiar el índice utilizando otro tipo de código, simplemente cambie la firma del indizador.
public int this[string index]
...
¿Por qué cada vez que necesito implementar un operador de índice, tengo que buscarlo? Y cada vez que termino en esta respuesta ... desearía poder votar hasta varias veces :) – DSO
esto es así muy impresionante. ¿Se puede hacer en una interfaz? '' Interfaz iCache { objeto de este [clave de cadena] {get; conjunto; }} '' ** Edición: ** [Sí.] (Http://stackoverflow.com/questions/9586625/how-to-define-indexer-behaviour-to-an-interface) – Michael
no sé por qué eligieron omitir la palabra "operador" en esta declaración, ¡ese es el error que siempre cometo! respuesta agradable –