Допустим, у нас есть общий метод:
public void GenericMethod<T>(T item)
{
var typeOf = typeof(T);
var getType = item.GetType();
}
И мы вызываем его со следующими параметрами:
GenericMethod(1)
GenericMethod((object) 1)
Результаты:
typeOf = System.Int32
getType = System.Int32
а также
typeOf = System.Object
getType = System.Int32
Может кто-нибудь объяснить мне, почему typeof integer, приведенный к объекту, возвращает System.Object, но .GetType() возвращает System.Int32?