Parameter types
Supports all types with a string constructor or where a TypeConverter is defined that can convert from a string. Includes, but not limited to:
stringcharboolenumshortintlongdecimaldoubleGuidUriFileInfoDirectoryInfo
Also supports List<T>, IEnumerable<T> and Nullable<T> where T can be converted from string. Note: T[] is not currently supported.
These are applicable for both - Options and Arguments
Note for arguments:
- There can be only one List argument in the method. It can be used with other non List type arguments or List type options.
- If the method has a List type argument, it should be defined last in the order.
Adding support for new types#
In most cases, create a TypeConverter for your type
If you need
- to override an existing TypeConverter
- conditional logic based on argument metadata (custom attributes, etc)
- the converter only for parsing parameters and not the business logic of your application
Implement ITypedArgumentTypeDescriptor or IGenericArgumentTypeDescriptor and register with AppSettings.ArgumentTypeDescriptors.Register(...).