Pues yo en lo personal siempre he generado una clase por cada tabla como lo demuestran los ejemplos que has visto, ahora lo que se me viene a la mente es que tengas mas parametros en tus metodos para pasarle que tipo de tabla es, en un array pasar todos los parametros y hacer un foreach para agregar los parametros del array al cmd.
Pero se presentan mas complicaciones ya que necesitarias pasar tambien otro array en el mismo orden con el nombre que deben llevar las variables en la base de datos (E_USUARIO) y hacer un dato algo asi:
Código:
public void insertar(string Nom_tabla, List<string> nombreDatos, List<string> datos)
{
String cmd="INSERT INTO " + Nom_tabla + " VALUES ('" + datos[0] + "','" + datos[1] + "','" + datos[3] + "','" + datos[4] + "')";
}
el List de nombreDatos, es por si quieres modificar o agregar dependiendo del campo o si vas a ejecutar un storeProcedure, ya que estos tienes que tener el nombre de las variables que le asignaste en la BD
Siento que t puedes ahorrar de esta maner un poco de tiempo, pero tambien creo q el mantenimiento y la logica pueden ser menos viables
Espero haberte ayudado