Ayuda con Generics...

28/03/2007 - 01:19 por vlamafox | Informe spam
He implementado una clase Generica que tiene la siguiente estructura:

public class GTarea<TipoClaseTarea, TipoString> where TipoClaseTarea : Tarea
{
TipoClaseTarea Tarea;
TipoString Cadena;

public GTarea()
{
}

public GTarea(TipoClaseTarea tarea, TipoString cadena)
{
this.Tarea = tarea;
this.Cadena = cadena;
}

public TipoClaseTarea ValorTarea
{
get
{
return this.Tarea;
}
set
{
this.Tarea = value;
}
}

public TipoString ValorCadena
{
get
{
return this.Cadena;
}
set
{
this.Cadena = value;
}
}
}

y la clase tarea tiene la siguiente estructura

public class Tarea
{
private int mvarNumTarea;
private TimeSpan mvarHoraInicio;



public TimeSpan HoraInicio
{
get
{
return mvarHoraInicio;
}
set
{
mvarHoraInicio = value;
}
}


public int NumTarea
{
get
{
return mvarNumTarea;
}
set
{
mvarNumTarea = value;
}
}


private Tarea()
{

}


}


Ahora he cargado la clase tarea de la siguiente manera:

Tarea Tareas;
List<GTarea<Tarea,string>> GTareas;

Luego he llenado la lista GTarea, la que declare anteriormente de la
siguiente manera:
(A propósito todo este ingreso de datos a la lista es con un for)

Tareas.HoraInicio = HoraActual;
Tareas.NumTarea = 1;
GTareas.Add(new GTarea<Tarea, string>(Tareas, cadena)); //cadena es un string

bien mi pregunta es la siguiente: Cómo puedo posicionarme en un elemento que
yo desee de la lista??? ya que yo estoy

haciendolo de la siguiente manera y no me funciona GTareas[indice]...
(sabemos que esta Lista contiene como uno de sus

elementos a otra clase y el otro elemento a un string) o hay alguna otra
forma de implementar generics.
Este es el error q me sale, pero no entiendo como podría solucionarlo la
conversión.
Cannot implicitly convert type
'ISO8583Server.GTarea<ISO8583Server.Tarea,string>' to 'ISO8583Server.Tarea'

Preguntas similare

Leer las respuestas

#1 Eugenio Serrano
28/03/2007 - 04:57 | Informe spam
No has pasado en que linea te salta el error.


Regards / Saludos,
Eugenio Serrano
Microsoft MVP (ASP/ASP.Net)
Solid Quality Mentors
http://www.eugenioserrano.com.ar
if (me.today == me.yesterday) me.tomorrow = null;



"vlamafox" escribió en el mensaje de
noticias news:
Mostrar la cita
#2 vlamafox
28/03/2007 - 06:10 | Informe spam
osea q quiero posicionarme en un elemento de la coleccion como podría hacer
eso. yo asigne asi:
Tarea lTarea
lTarea = GTareas[indice]
y me sale error...

"Eugenio Serrano" wrote:

Mostrar la cita
#3 Alberto Poblacion
28/03/2007 - 09:43 | Informe spam
"vlamafox" wrote in message
news:
Mostrar la cita
GTareas[indice] no devuelve un objeto "Tarea" sino un "GTarea", que es lo
que has metido en la colección. Si luego quieres sacar de dentro el Tarea,
con la definición de clase que has puesto podrías sacarlo a través de la
propiedad ValorTarea:

Tarea lTarea;
lTarea = GTareas[indice].ValorTarea;
Ads by Google
Search Busqueda sugerida