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'
Leer las respuestas