GetType()
возвращает фактический тип объекта, к которому относится значение. Он не возвращает тип переменной , используемой для доступа к объекту. Итак, в качестве более простого примера:
object x = "this is a string";
Console.WriteLine(x.GetType()); // Prints System.String
В этом случае типом является «в штучной упаковке System.Int32
», но в большинстве случаев. NET не различает «тип обычного значения» и «тип коробочный тип, эквивалентный типу значения ", включая GetType()
.