Elegancia en uso de Hashtable

04/08/2005 - 13:17 por lord | Informe spam
Hola grupo.

A recomendación de un miembro, estoy usando hashtable en mi
aplicación, y es justamente lo que buscaba ;). Pero tengo una dudilla
sobre si se puede hacer esto de una forma más "elegante".

Yo en mi hashtable almaceno un objeto que se llama "Relación", y como
Key de la hashtable uso el nombre de la relación.

Si para obtener el string descripción de la relación "nombreRel"
pongo lo siguiente:

hashPersonas["nombreRel"].Descripción


me dice que vamos mal, que me da error, vamos, exactamente el
siguiente:

error CS0117:
'object' no contiene una definición para 'Descripción'


Esto lo he solucionado, así:

((Relación)hashPersonas["nombreRel"]).Descripción


La pregunta es si hay alguna otra forma de solucionar el problema, que
sea menos incómoda, porque es un engorro tener que estar haciendo el
cast siempre que me haga falta algún valor de la tabla.

Gracias ;).
 

Leer las respuestas

#1 José Cordero
04/08/2005 - 14:28 | Informe spam
si, puedes crearte una clase heredando de Hashtable y añadirle un indizador
que te devuelva una Relación

ej.

public class MiHash : Hashtable
{


public Realcion this [string nombrerelacion]
{
get
{
//aqui busca el objeto y devuelve haciendole un casting a relación
}
}
}

"lord" escribió:

Hola grupo.

A recomendación de un miembro, estoy usando hashtable en mi
aplicación, y es justamente lo que buscaba ;). Pero tengo una dudilla
sobre si se puede hacer esto de una forma más "elegante".

Yo en mi hashtable almaceno un objeto que se llama "Relación", y como
Key de la hashtable uso el nombre de la relación.

Si para obtener el string descripción de la relación "nombreRel"
pongo lo siguiente:

hashPersonas["nombreRel"].Descripción


me dice que vamos mal, que me da error, vamos, exactamente el
siguiente:

error CS0117:
'object' no contiene una definición para 'Descripción'


Esto lo he solucionado, así:

((Relación)hashPersonas["nombreRel"]).Descripción


La pregunta es si hay alguna otra forma de solucionar el problema, que
sea menos incómoda, porque es un engorro tener que estar haciendo el
cast siempre que me haga falta algún valor de la tabla.

Gracias ;).


Preguntas similares