Как проверить, является ли тип классом?

В .Net у нас есть Type.IsClass, чтобы проверить, является ли тип классом с помощью System.Reflection.

Но в .Net Core нет. Итак, как я могу проверить?

Ответ 1

Попробуйте позвонить GetTypeInfo(), чтобы получить эту информацию.

Ответ 2

Это нормально, на: .net Core 1.1

using System.Reflection;
bool isClass = obj.GetType().GetTypeInfo().IsClass;

Ответ 3

В .NET Core 2.2 вы можете сделать:

bool isClass = obj.GetType().IsClass;

Следующее больше не будет работать:

bool isClass = obj.GetTypeInfo().IsClass;
bool isClass = obj.GetType().GetTypeInfo().IsClass;