• Paranoid - курс по анонимности и безопасности в сети от команды codeby. Защита персональных данных, анонимность в сети интернет, настройка виртуальных машин, безопасная передача данных, анти форензика и еще много всего полезного. Подробнее ...

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

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

Young Programmer

#1
подскажите пожалуйста, как можно сделать следующую штуку:
есть некая строка, которая хранит тип
допустим
Код:
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

#2
нашел:
Код:
string text = "32";
var t = Type.GetType("System.Int32");
object textUpdate=Convert.ChangeType(text, t, CultureInfo.InvariantCulture);
 
E
#3
Что-то не понял, а в чем смысл? чем хуже таже Int32.TryParse, или Convertзачем тут рефлекшн
 
Y

Young Programmer

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