private static CommandLineArgumentTypes GetArgumentType(CommandLineArgumentAttribute attribute, PropertyInfo propertyInfo) { if (attribute != null) { return attribute.Type; } else if (IsCollectionType(propertyInfo.PropertyType)) { return CommandLineArgumentTypes.MultipleUnique; } else { return CommandLineArgumentTypes.AtMostOnce; } }