comboBox2.DataSource = Enum.GetValues(typeof(GSMModemTypeConstants));
GSMModemTypeConstants s_type = (GSMModemTypeConstants)Convert.ChangeType(
comboBox2.Text, typeof(GSMModemTypeConstants));
In der ersten Zeile des Benutzer wählen, die Art seines Modems von einem comboBox, die die Liste des Modems zur Verfügung aus dem Enum GSMModemTypeConstants bekommt. In der zweiten Zeile möchte ich den ausgewählten Modemtyp an s_type übergeben, der später von der Methode verwendet wird, die die SMS tatsächlich sendet.Fehler von Convert.ChangeType bei der Umwandlung von „string“ auf „GSMModemTypeConstants“
Wenn ich manuell an die s_type alles zum Beispiel perfekt funktioniert:
GSMModemTypeConstants s_type = GSMModemTypeConstants.gsmModemSonyEricsson;
// OR
GSMModemTypeConstants s_type = GSMModemTypeConstants.gsmModemNokia;
Aber wenn ich versuche, die Wahl vom comboBox
abzurufen und stellen Sie die s_type
wie ich in der zweiten Zeile tun die Umwandlung gibt mir eine Fehler, den ich nicht verstehen kann.
Am Umgang ich die Convert.ChangeType
Methode falsch? Wenn es nicht meine Schuld ist, gibt es dann eine andere Möglichkeit, einen Typ von String in etwas anderes zu konvertieren, außer Convert.ChangeType
?
Lösung Ich habe noch nicht den erforderlichen Ruf es unten zu beantworten, hier so ist der Code ...
GSMModemTypeConstants s_type = (GSMModemTypeConstants)System.Enum.Parse(
typeof(GSMModemTypeConstants), comboBox2.Text);`
möglich Duplikat [Convert.ChangeType und Aufzählungen Umwandlung?] (Http://stackoverflow.com/questions/507059/convert-changetype-and-converting-to-enums) – BrokenGlass
"Enum.ToObject()" statt von "Convert.ChangeType" in der Zeile bekomme ich den Fehler? – Karapapas
Wenn Sie eine Lösung für Ihr Problem haben, geben Sie bitte eine Antwort, damit die Leute die Antwort schneller finden. Es gibt keine Beschränkung für die Antwort. Und bitte vermeiden Sie [gelöst] in Ihrem Titel. – gunr2171