No se si te refieres a los templates de C++, si es esto lo que buscas, puedes hacerlo colocando los parámetros de tu clase de tipo object, ya que todo en C# hereda de allí.
Fijate por ejemplo que la clase ArrayList te sirve para cualquier clase que crees (incluso los tipos de datos).