Tipos genéricos propios

Los genéricos presentan el concepto de parámetros de tipo en .NET, lo que permite diseñar clases y métodos que aplazan la especificación de uno o varios tipos hasta que el código de cliente declara y crea instancias de la clase o método.

También puede crear métodos y tipos genéricos personalizados para proporcionar sus propias soluciones generalizadas y patrones de diseño que sean seguros para tipos y eficaces.

El parámetro de tipo T se usa en diversas ubicaciones donde normalmente se usaría un tipo concreto para indicar el tipo del elemento almacenado en la lista. Se usa de estas formas:

  • Como el tipo de un parámetro de método en el método AddHead.
  • Como el tipo de valor devuelto de la propiedad Data en la clase anidada Node.
  • Como el tipo de miembro privado data de la clase anidada.

https://docs.microsoft.com/es-es/dotnet/csharp/fundamentals/types/generics

https://www.tutorialsteacher.com/csharp/csharp-generics

Generics in C#