Похоже, вы , возможно, пытаетесь обнаружить разницу между типом значения и ссылочным типом.Вы можете выяснить это с помощью Type.IsValueType
... но имейте в виду, что типы значений также могут легко иметь свойства.(Например, DateTime
.) Кроме того, некоторые типы, которые вы можете рассматривать как "не объекты", являются ссылочными типами - string
является основным примером.
Другой вариант - использовать Type.IsPrimitive
- это , что вы ищете?Если это так, вы должны знать, что decimal
, DateTime
и string
являются не примитивными типами.
Если вы можете описать точно , что делаетвведите «объект» в своем мышлении (или, скорее, каким-либо образом семантическую разницу в том, что вы пытаетесь сделать с вашим типом).Я подозреваю, что в настоящее время у вас нет четкого набора критериев - подход к этим критериям может также прояснить и другие аспекты вашей текущей задачи.