Table of Contents

Class CommandMetadataRegistry

Namespace
McMaster.Extensions.CommandLineUtils.SourceGeneration
Assembly
McMaster.Extensions.CommandLineUtils.dll

Registry for source-generated command metadata. Source generators register metadata providers here via module initializers.

public static class CommandMetadataRegistry
Inheritance
object
CommandMetadataRegistry

Methods

HasMetadata(Type)

Checks if metadata is available for a type.

public static bool HasMetadata(Type modelType)

Parameters

modelType Type

The model type.

Returns

bool

True if generated metadata is available; otherwise, false.

HasMetadata<TModel>()

Checks if metadata is available for a type.

public static bool HasMetadata<TModel>() where TModel : class

Returns

bool

True if generated metadata is available; otherwise, false.

Type Parameters

TModel

The model type.

Register(Type, ICommandMetadataProvider)

Registers a metadata provider for a type.

public static void Register(Type modelType, ICommandMetadataProvider provider)

Parameters

modelType Type

The model type.

provider ICommandMetadataProvider

The metadata provider.

Register<TModel>(ICommandMetadataProvider<TModel>)

Registers a metadata provider for a type. Called by generated code in module initializers.

public static void Register<TModel>(ICommandMetadataProvider<TModel> provider) where TModel : class

Parameters

provider ICommandMetadataProvider<TModel>

The metadata provider.

Type Parameters

TModel

The model type.

TryGetProvider(Type, out ICommandMetadataProvider?)

Tries to get the metadata provider for a type.

public static bool TryGetProvider(Type modelType, out ICommandMetadataProvider? provider)

Parameters

modelType Type

The model type.

provider ICommandMetadataProvider

The metadata provider, if found.

Returns

bool

True if a provider was found; otherwise, false.

TryGetProvider<TModel>(out ICommandMetadataProvider<TModel>?)

Tries to get the metadata provider for a type.

public static bool TryGetProvider<TModel>(out ICommandMetadataProvider<TModel>? provider) where TModel : class

Parameters

provider ICommandMetadataProvider<TModel>

The metadata provider, if found.

Returns

bool

True if a provider was found; otherwise, false.

Type Parameters

TModel

The model type.