2014-09-04 2 views
1

У меня проблема. В моем коде у меня есть перечисление, в котором перечислены различные отрасли промышленности. Значение перечисления считывается из базы данных.Enum in Читать из базы данных

Когда я пытаюсь отбросить строку из базы данных, я получаю InvalidCastException. Я знаю, что проблема заключается в перечислении, поскольку все остальные значения, которые возвращаются, являются строками. Как я могу исправить эту проблему.

Вот код:

public enum EnBranche 
    { 
     Metall = 1, 
     Informatik = 2, 
     Einzelhandel = 3, 
     Landwirtschaft = 4, 
     Energie = 5, 
     Gesundheitswirtschaft = 6, 
     Industrie = 7, 
     Tourismus = 8, 
     Logistik = 9 
    }; 

var firma = FirmaFuellen(dataSet.Tables["Firmen"].Rows[i].ItemArray[1].ToString(), 
             dataSet.Tables["Firmen"].Rows[i].ItemArray[2].ToString(), 
             dataSet.Tables["Firmen"].Rows[i].ItemArray[3].ToString(), 
             (int) dataSet.Tables["Firmen"].Rows[i].ItemArray[4], 
             dataSet.Tables["Firmen"].Rows[i].ItemArray[5].ToString(), 
             **(EnBranche) dataSet.Tables["Firmen"].Rows[i].ItemArray[5]);** 
+0

спасибо за редактирование :) –

ответ

2

Пожалуйста, попробуйте использовать Enum.Parse:

(EnBranche) Enum.Parse(typeof(EnBranche), 
         dataSet.Tables["Firmen"].Rows[i].ItemArray[5].ToString()) 
+0

спасибо за быстрый answere и это работает –

Смежные вопросы