martes, 22 de abril de 2014

Receta No. 1-24: Implementar un Indexer Personalizado

Tabla de Contenido

0. Introducción
1. Problema
2. Solución
3. Discusión Solución
4. Práctica: Código Fuente C#
5. Conclusiones
6. Glosario
7. Enlaces & Literatura

0. Introducción

Ya en el artículo -Indizadores en C#- hablé con detenimiento acerca de los indexers en C# y su potencial para acceder a datos de una clase por medio de una propiedad especificando un índice (basado en 0) de la ubicación del dato que nos interesa. En esta receta voy a implementar este concepto como fórmula de afianzamiento. ¡Manos a la obra!

1. Problema

Actualmente la implementación de los atributos (campos, como uds. prefieran) que corresponden con arreglos se acceden a través de un método de la siguiente forma:

public string ObtenerData(int indice)
{
return datos[indice];
}

2. Solución

Vamos a implementar un indexer personalizado para acceder a la data de los atributos de tipo arreglo en nuestras clases del modelo. En resumen este es el método de acceso y manipulación que se propone con indexer personalizados:

string[] palabras = "GitHub Gist permite crear fragmentos de código de forma eficiente.".Split();

public string this [int indicePalabra] // indexer
{
get
{
return palabras[indicePalabra];
}
set
{
palabras[indicePalabra] = value;
}
}

3. Discusión de la solución

En el artículo -Indizadores en C#- pueden consultar los detalles de implementación de indexer personalizados en C#. Ahí podrán interesantes ejemplos para comprender su uso y utilidad en el uso de propiedades que acceden y manipulan campos de tipo arreglo en una estructura personalizada (i.e., una clase).

4. Práctica: Código Fuente C#

Archivo ReporteTiempo.cs:



Compilación:

  1. csc /target:exe /out:ReporteTiempo.exe ReporteTiempo.cs

> Prueba de ejecución.

5. Conclusiones

Aprendimos acerca del uso de los indexers personalizados para acceder y manipular la data asociada a un atributo (o campo) de una clase; esto a través del uso de la sintaxis de acceso y manipulación de arreglos.

6. Glosario


  • Arreglo
  • Atributo
  • Campo
  • Indexer
  • Propiedad

7. Enlaces & Literatura

[1]: Visual C# 2010 Recipes by Allen Jones and Adam Freeman. Copyright 2010 Allen Jones and Adam Freeman, 978-1-4302-2525-6.
[2]: Indizadores en C# - http://ortizol.blogspot.com/2013/10/tabla-de-contenido-0_14.html


M

No hay comentarios:

Publicar un comentario

Envíe sus comentarios, dudas, sugerencias, críticas. Gracias.