private void AddArgumentWithOptionsForPropertiesOnObject(List<ArgumentWithOptions> recognizers, ParameterInfo parameterInfo) { recognizers.AddRange(parameterInfo.GetPublicInstanceProperties() .Select(prop => new ArgumentWithOptions(ArgumentParameter.Parse(prop.Name, _culture), required: parameterInfo.LooksRequired() && prop.Required(), type: prop.PropertyType))); }