Ver Mensaje Individual
  #14 (permalink)  
Antiguo 09/07/2014, 17:53
TitoFlecks
 
Fecha de Ingreso: enero-2012
Mensajes: 87
Antigüedad: 12 años, 4 meses
Puntos: 1
Respuesta: Crear una clase dinámicamente

A ver si consigo explicarme.

Necesito comparar números contra números (con nombre).

Por ahora tengo una clase Tags tal que así:

Código:
Public class Tags{

public const int NombreDeEvento1 = 0;
public const int NombreDeEvento2 = 1;
...
}
De forma que cuando comparo en mi programa siempre hago algo así como:
if(NúmeroDeEvento == Tags.NombreDeEventoN)

Donde númeroDeEvento es un int y Tags.NombreDeEventoN es el nombre del evento enésimo definido en la clase Tags. Claro, de esta forma, tengo que definirme a mano los tags si añado algún evento nuevo y quisiera que esto fuera automático.

Si lo hago con Diccionarios, tendría algo así:

Código:
Dictionary<string, int> dic = new Dictionary<string, int>();
dic.Add("NombreDeEvento1", 0);
int valor = dic["NombreDeEvento1"]
...
Cuando recojo el valor para ese KEY ("NombreDeEvento1") internamente la librería CREO que hace un stringCompare para extraer el valor. Y digo creo porque no lo sé seguro (lo que yo sobreentiendo es que el acceso es constante pero la comparación de strings no me la quita nadie).

Me gustaría sabe realmente qué leches hace internamente el Dictionary: si yo realmente le paso una cadena pero compara números, perfecto. AHORA, si hay algún StringCompare interno, no me vale porque resultaría muy ineficiente si en cada ciclo de programa comparo un porrón de strings.

No sé si se entiende el matiz


Gracias :)