Class TypeUtils
Namespace: Momentum.Extensions.EventMarkdownGenerator.Services
Assembly: Momentum.Extensions.EventMarkdownGenerator.dll
Shared utility methods for type checking and name formatting. Consolidates type-related logic from multiple service classes.
public static class TypeUtils
Inheritance
Inherited Members
object.GetType(), object.MemberwiseClone(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()
Methods
CollectComplexTypesFromProperties(IEnumerable<EventPropertyMetadata>)
Collects all complex types from a collection of event properties.
public static HashSet<Type> CollectComplexTypesFromProperties(IEnumerable<EventPropertyMetadata> properties)
Parameters
properties
IEnumerable<EventPropertyMetadata>
Returns
CollectNestedComplexTypes(Type, HashSet<Type>)
Collects all nested complex types from a parent type recursively.
public static void CollectNestedComplexTypes(Type parentType, HashSet<Type> schemaTypes)
Parameters
parentType
Type
GetElementType(Type)
Gets the element type from a collection type (arrays or generic collections).
public static Type? GetElementType(Type type)
Parameters
type
Type
Returns
Type?
GetElementTypeName(Type)
Gets the element type name from a collection type.
public static string? GetElementTypeName(Type type)
Parameters
type
Type
Returns
GetFriendlyTypeName(Type)
Gets a friendly display name for a type (e.g., "string" instead of "String"). Handles nullable types and generics appropriately.
public static string GetFriendlyTypeName(Type type)
Parameters
type
Type
Returns
IsCollectionType(Type)
Determines if a type is a collection type (arrays, lists, etc.).
public static bool IsCollectionType(Type type)
Parameters
type
Type
Returns
IsComplexType(Type)
Determines if a type is complex (not a simple type, enum, or common framework type). Uses cycle detection to handle recursive type references.
public static bool IsComplexType(Type type)
Parameters
type
Type
Returns
IsPrimitiveType(Type)
Determines if a type is a simple value type (primitives, enums, common framework types).
public static bool IsPrimitiveType(Type type)
Parameters
type
Type