Public Shared Function Create (
parser As CommandLineParser,
argumentType As Type,
elementTypeWithNullable As Type,
elementType As Type,
memberName As String,
attribute As CommandLineArgumentAttribute,
kind As ArgumentKind,
converter As ArgumentConverter,
allowsNull As Boolean,
defaultValueDescription As String,
Optional position As Integer? = Nothing,
Optional defaultKeyDescription As String = Nothing,
Optional requiredProperty As Boolean = false,
Optional alternateDefaultValue As Object = Nothing,
Optional keyType As Type = Nothing,
Optional valueType As Type = Nothing,
Optional multiValueSeparatorAttribute As MultiValueSeparatorAttribute = Nothing,
Optional descriptionAttribute As DescriptionAttribute = Nothing,
Optional valueDescriptionAttribute As ValueDescriptionAttribute = Nothing,
Optional allowDuplicateDictionaryKeys As Boolean = false,
Optional keyValueSeparatorAttribute As KeyValueSeparatorAttribute = Nothing,
Optional aliasAttributes As IEnumerable(Of AliasAttribute) = Nothing,
Optional shortAliasAttributes As IEnumerable(Of ShortAliasAttribute) = Nothing,
Optional validationAttributes As IEnumerable(Of ArgumentValidationAttribute) = Nothing,
Optional setProperty As Action(Of Object, Object) = Nothing,
Optional getProperty As Func(Of Object, Object) = Nothing,
Optional callMethod As Func(Of Object, CommandLineParser, CancelMode) = Nothing
) As GeneratedArgument
Dim parser As CommandLineParser
Dim argumentType As Type
Dim elementTypeWithNullable As Type
Dim elementType As Type
Dim memberName As String
Dim attribute As CommandLineArgumentAttribute
Dim kind As ArgumentKind
Dim converter As ArgumentConverter
Dim allowsNull As Boolean
Dim defaultValueDescription As String
Dim position As Integer?
Dim defaultKeyDescription As String
Dim requiredProperty As Boolean
Dim alternateDefaultValue As Object
Dim keyType As Type
Dim valueType As Type
Dim multiValueSeparatorAttribute As MultiValueSeparatorAttribute
Dim descriptionAttribute As DescriptionAttribute
Dim valueDescriptionAttribute As ValueDescriptionAttribute
Dim allowDuplicateDictionaryKeys As Boolean
Dim keyValueSeparatorAttribute As KeyValueSeparatorAttribute
Dim aliasAttributes As IEnumerable(Of AliasAttribute)
Dim shortAliasAttributes As IEnumerable(Of ShortAliasAttribute)
Dim validationAttributes As IEnumerable(Of ArgumentValidationAttribute)
Dim setProperty As Action(Of Object, Object)
Dim getProperty As Func(Of Object, Object)
Dim callMethod As Func(Of Object, CommandLineParser, CancelMode)
Dim returnValue As GeneratedArgument
returnValue = GeneratedArgument.Create(parser,
argumentType, elementTypeWithNullable,
elementType, memberName, attribute,
kind, converter, allowsNull, defaultValueDescription,
position, defaultKeyDescription,
requiredProperty, alternateDefaultValue,
keyType, valueType, multiValueSeparatorAttribute,
descriptionAttribute, valueDescriptionAttribute,
allowDuplicateDictionaryKeys, keyValueSeparatorAttribute,
aliasAttributes, shortAliasAttributes,
validationAttributes, setProperty,
getProperty, callMethod)