Нужна помощь в работе с типами. У меня есть переменная myField, мне нужно ее преобразовать в тип, который я не должен знать. То есть нужен механизм который делал бы примерно вот так:
Type type = typeof(AnyNotMyClass); //какой класс будет в скобках я не знаю
var field = (type) myField; //допустим преобразование будет возможным
Возможно ли такое вобще делать в c# ?
Написанный код не висит в воздухе, поэтому где-то до этого на вход метода передаётся переменная с типом Type
void Main()
{
Test(typeof(string));
}
// Define other methods and classes here
public void Test(Type t)
{
Console.WriteLine(t);
}
Само приведение делается двумя способами (см. подробнее на en so): через Convert или Generic-метод.
public static void method1(Type convertTo, object toBeConverted)
{
var convertedValue = Convert.ChangeType(toBeConverted, convertTo);
}
public static void method2<TConvert>(object toBeConverted)
{
var convertedValue = (TConvert)toBeConverted;
}
И как бы вы не говорили, что не знаете, какой это будет тип -- нужно уточнить, откуда вы узнаёте тип и в какой момент.
Виртуальный выделенный сервер (VDS) становится отличным выбором
Есть толстый клиент написанный на winformsК нему подключена база данных mssql