Namespace McMaster.Extensions.CommandLineUtils.SourceGeneration
Classes
- ArgumentMetadata
Metadata about a command argument, extracted at compile time or via reflection.
- CommandMetadata
Metadata about a command from the [Command] attribute.
- CommandMetadataRegistry
Registry for source-generated command metadata. Source generators register metadata providers here via module initializers.
- DefaultMetadataResolver
Default implementation that checks the registry first, falls back to reflection.
- HelpOptionMetadata
Metadata for the [HelpOption] attribute.
- OptionMetadata
Metadata about a command option, extracted at compile time or via reflection.
- SpecialPropertiesMetadata
Metadata for special well-known properties (Parent, Subcommand, RemainingArguments).
- SubcommandMetadata
Metadata about a subcommand, extracted at compile time or via reflection.
- VersionOptionMetadata
Metadata for the [VersionOption] attribute.
Interfaces
- ICommandMetadataProvider
Provides metadata about a command model type. Implemented by both reflection-based and source-generated providers.
- ICommandMetadataProvider<TModel>
Strongly-typed metadata provider for a specific model type.
- IExecuteHandler
Handles execution of the OnExecute/OnExecuteAsync method without reflection.
- IExecuteHandler<TModel>
Strongly-typed handler for executing the OnExecute/OnExecuteAsync method.
- IMetadataResolver
Resolves command metadata for a type using either generated or reflection-based providers.
- IModelFactory
Factory for creating model instances without reflection.
- IModelFactory<TModel>
Strongly-typed factory for creating model instances without reflection.
- IValidateHandler
Handles validation via OnValidate method without reflection.
- IValidateHandler<TModel>
Strongly-typed handler for validation via OnValidate method.
- IValidationErrorHandler
Handles validation errors via OnValidationError method without reflection.