2014-10-07 3 views
-1

Допустим, у меня есть строковой переменной, как,Преобразовать SelectedValue из Combobox ввести

string selectedvalue=ComboBox1.SelectedValue.ToString(); 

Как преобразовать строку в тип предполагая SelectedValue быть имя класса ... Спасибо ..

+0

Вы не можете преобразовать строку в пользовательский тип класса. Однако вы можете попробовать «selectedValue» для любого типа, который вы ищете, используя «ComboBox1.SelectedValue как MyType». – PoweredByOrange

+0

Преобразование строки в 'Тип' требует некоторой информации о сборке, в которой указан тип. Если типы определены прямо в текущей исполняющей сборке, вы можете преобразовать 'FullName' этого типа в соответствующий' Type'. «Полное имя» объединяется из пространств имен и имени класса. –

+0

Что входит в ваш 'ComboBox'? Почему бы просто не привязать «ComboBox» к списку типов, поэтому вам не нужно преобразовывать выделение? –

ответ

0

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

string caseSwitch = className1; 
switch (caseSwitch) 
{ 
    case "className1": 
     // Do what you need to do here 
     break; 
    case "className2": 
     // Do what you need to do here 
     break; 
    default: 
     // Do what you need to do here 
     break; 
} 

Вы можете создать объект класса, который соответствует строке, которая выбрана в делать то, что вам нужно сделать здесь Часть

Имя класса может быть жёстко или заданной другой функцией. Для получения дополнительной информации о получении имени с помощью функции вы можете прочитать следующее: (я не являюсь профессионалом C#) http://msdn.microsoft.com/en-us/library/system.reflection.propertyinfo.aspx?cs-save-lang=1&cs-lang=csharp#code-snippet-1

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