Stashbox by Peter Csajtai

<PackageReference Include="Stashbox" Version="3.1.0-preview-534" />

 TypeInfo

public struct TypeInfo
public Assembly Assembly { get; }

public Type BaseType { get; }

public bool ContainsGenericParameters { get; }

public Type DeclaringType { get; }

public int GenericParameterPosition { get; }

public Type[] GenericTypeArguments { get; }

public Type[] GenericTypeParameters { get; }

public bool IsAbstract { get; }

public bool IsArray { get; }

public bool IsClass { get; }

public bool IsEnum { get; }

public bool IsGenericType { get; }

public bool IsGenericTypeDefinition { get; }

public bool IsInterface { get; }

public bool IsNestedPublic { get; }

public bool IsPrimitive { get; }

public bool IsPublic { get; }

public bool IsSealed { get; }

public bool IsValueType { get; }

public Type Type { get; }

public TypeInfo(Type type)

public IEnumerable<Attribute> GetCustomAttributes(Type attributeType, bool inherit)

public bool IsAssignableFrom(TypeInfo info)