
Los tipos genéricos nos permiten definir interfaces o clases a los cuales podemos pasarle un parámetro que representará el tipo de datos que quisieramos emplear ya sea para variables de salida o entrada en el objeto que vengamos a incorporarlo con lo que nos da una mayor facilidad de uso y un punto alto de reutilización de código sobre nuestro programa.
Seguidamente les dejo con el código que se emplea en este ejemplo en lo cual trabajamos con 1 interface que dispone de los tipos genéricos, 3 clases que lo implementan de forma diferente con respecto a los tipos de entrada y salida necesario y una última clase que dispone el suo de las 3 clases anteriormente mencionados a través de su interface.
IClase.cs
namespace AppFirst { public interface IClase { T operar(X variable); } }
ClaseUno.cs
using System; namespace AppFirst { public class ClaseUno : IClase { public float operar(string variable) { return float.Parse(variable); } } }
ClaseDos.cs
using System; namespace AppFirst { public class ClaseDos : IClase { public int operar(float variable) { return int.Parse(variable.ToString()); } } }
ClaseTres.cs
using System; namespace AppFirst { public class ClaseTres : IClase { public string operar(string variable) { return "Hola desde " + variable; } } }
Program.cs
using System; namespace AppFirst { public class Program { public static void Main(string[] args) { IClase x = new ClaseUno(); IClase y = new ClaseDos(); IClase z = new ClaseTres(); Console.WriteLine(x.operar("10.5")); Console.WriteLine(y.operar(7.0f)); Console.WriteLine(z.operar("codideep.com")); Console.ReadLine(); } } }
Para mayor información y una explicación detallada del tema, les dejo seguidamente con el video que explica este proceso.

- Debes estar logueado para realizar comentarios