Hola mis queridos List<Amigos>
Hoy vamos a hablar un poco sobre el mundo de los Generics. Vamos derecho al código…
Supongamos que necesitamos un método que devuelve un objeto Persona:
public Persona GetPersonaByID(int idPersona)
{
var persona = new Persona();
// Aquí va el codigo para armar el objeto
return persona;
}
Para llamar a este método lo hacemos de la forma:
Persona objeto = GetPersonaByID(5);
Hasta aquí ninguna novedad. Ahora bien, supongamos que queremos hacer que el mismo método trabaje con cualquier tipo de objetos:
//T: parámetro de tipo
public T GetEntityByID<T>(int idEntity)
{
// Aquí va el código para armar el objeto. Veremos mas adelante qué necesitamos
// para instanciar un objeto T
// ahora se complica un poco mas porque no sabemos bien que tipo de objetos es T
return entity;
}
Y ahora cuando llamamos a este método le vamos a indicar con qué tipo de objetos tiene que operar:
Persona p = GetEntityByID<Persona>(5); Ticket t = GetEntityByID<Ticket>(8); Auto a = GetEntityByID<Auto>(19);