• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

Динамические приведение типов

  • Автор темы Young Programmer
  • Дата начала
Y

Young Programmer

подскажите пожалуйста, как можно сделать следующую штуку:
есть некая строка, которая хранит тип
допустим
Код:
sting type="System.Int32";
из БД считано некое значение, которое имеет тип string. Я хочу проверить, может ли значение этой переменной быть приведено к типу в строке type. Т.е. типа такого:
Код:
string type="System.Int32;

//DB reading..
//............

string x=value_from_db;
try
{
(что-то делаем с переменной type чтобы получить тип Int32).Parse(x);
}
catch
{
Console.WriteLine("x не является типом"+type);
}
какой тип будет храниться в переменной type заранее не известно.
 
Y

Young Programmer

нашел:
Код:
string text = "32";
var t = Type.GetType("System.Int32");
object textUpdate=Convert.ChangeType(text, t, CultureInfo.InvariantCulture);
 
E

etc

Что-то не понял, а в чем смысл? чем хуже таже Int32.TryParse, или Convertзачем тут рефлекшн
 
Y

Young Programmer

Что-то не понял, а в чем смысл? чем хуже таже Int32.TryParse, или Convertзачем тут рефлекшн
в том, что я не знаю какой тип будет в переменной type, он считывается из БД и записывается в строковую переменную, и поэтому не могу написать Int32.Parse, т.к. это может быть и System.String и System.Int32 или вообще перечисление...
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!