Nazwa kolumny danych z DataRow (nie DataTable)

Muszę iterować typ danych kolumny i kolumny z określonego wiersza. Wszystkie przykłady, które widziałem, powtarzały całą bazę danych. Chcę przekazać pojedynczy wiersz do funkcji, aby wykonać kilka przetwarzania warunkowego. Chcę oddzielić przetwarzanie warunkowe dla ułatwienia czytelności.

Oto co mam:

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

Wystąpił błąd

System.InvalidCastException: Nie można rzutować obiektu typu „System.String” na typ „System.Data.DataColumn”.

Jak uzyskać nazwę kolumny z wiersza lub czy nie mam wyboru i muszę przekazać całą bazę danych do funkcji?

questionAnswers(4)

yourAnswerToTheQuestion