Nombre de columna de datos de DataRow (no DataTable)
Necesito iterar el nombre de columna y el tipo de datos de columna de una fila específica. Todos los ejemplos que he visto han iterado una base de datos completa. Quiero pasar una sola fila a una función para hacer un montón de procesamiento condicional. Quiero separar el procesamiento condicional para facilitar la legibilidad.
Esto es lo que tengo:
private void doMore(DataRow dr)
{
foreach (DataColumn c in dr.ItemArray) //loop through the columns.
{
MessageBox.Show(c.ColumnName.ToString());
}
}
El error devuelto es
System.InvalidCastException: no se puede convertir el objeto de tipo 'System.String' al tipo 'System.Data.DataColumn'.
¿Cómo obtendría el nombre de la columna de la fila o no tengo otra opción y debo pasar la información completa a la función?