Convertir lista genérica / Enumerable a DataTable?

Tengo pocos métodos que devuelven diferentes listas genéricas.

¿Existe en .net algún método estático de clase o lo que sea para convertir cualquier lista en una tabla de datos? Lo único que puedo imaginar es usar Reflection para hacer esto.

IF tengo esto:

List<Whatever> whatever = new List<Whatever>();

(El siguiente código no funciona, por supuesto, pero me gustaría tener la posibilidad de:

DataTable dt = (DataTable) whatever;

Respuestas a la pregunta(19)

Su respuesta a la pregunta