DataColumn Name von DataRow (nicht DataTable)

Ich muss den Spaltennamen und den Spaltendatentyp aus einer bestimmten Zeile durchlaufen. Alle Beispiele, die ich gesehen habe, haben eine ganze Datentabelle durchlaufen. Ich möchte einer Funktion eine einzelne Zeile übergeben, um eine Reihe von bedingten Verarbeitungen durchzuführen. Ich möchte die bedingte Verarbeitung aus Gründen der besseren Lesbarkeit trennen.

Das habe ich:

private void doMore(DataRow dr)
{
    foreach (DataColumn c in dr.ItemArray)  //loop through the columns. 
    {
        MessageBox.Show(c.ColumnName.ToString());
    }
}

Der zurückgegebene Fehler ist

System.InvalidCastException: Objekt vom Typ "System.String" kann nicht in "System.Data.DataColumn" umgewandelt werden.

Wie erhalte ich den Spaltennamen aus der Zeile oder habe ich keine Wahl und muss die gesamte Datentabelle an die Funktion übergeben?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage