Я обнаружил, что если я запускаю следующие строки кода.
int i = 7;
i.GetHashCode(); //where GetHashCode() is the derived
//function from System.Object
Нет бокса, но если я назову i.GetType() (другая производная функция из System.Object) вместо GetHashCode(), для вызова GetType() потребуется бокс, почему его нельзя вызвать GetType() на экземпляр примитивного типа напрямую, без бокса, в то время как его можно вызвать GetHashCode() без бокса?