Здравствуйте, Аноним, Вы писали:
А>У меня есть объявление MyClass M=null. Как получить тип у M?
А что такое 'тип у M'? Тип переменной по объявлению -- MyClass. Типа значения переменной нет, так как нет и самого значения.
Re[2]: Тип переменной, если она null
От:
Аноним
Дата:
07.03.06 06:13
Оценка:
Здравствуйте, Mab, Вы писали:
Mab>Здравствуйте, Аноним, Вы писали:
А>>У меня есть объявление MyClass M=null. Как получить тип у M? Mab>А что такое 'тип у M'? Тип переменной по объявлению -- MyClass. Типа значения переменной нет, так как нет и самого значения.
Я имел в виду как получить тип переменной. Я вижу что у M тип MyClass. но мне нужно сделать так typeof(M). Причём M может быть равно null. И так для любой переменной. Как быть? У рихтера читал что для переменной нельзя делать typeof. А метод GetType я не вызову если значение null. Как быть?
Hello, " Аноним "
> Я имел в виду как получить тип переменной. Я вижу что у M тип MyClass. но > мне нужно сделать так typeof(M). Причём M может быть равно null. И так для > любой переменной. Как быть? У рихтера читал что для переменной нельзя > делать typeof. А метод GetType я не вызову если значение null. Как быть?
В данном случае всегда вернктся тип извесный компилятору, в случае когда переменная null это единственное что можно получить, но если не нул, то тогда не получим отсюда ничего интересного, можно сделать так
static Type GetType<T>(T arg)
{
if (arg != null)
return arg.GetType();
return typeof(T);
}