示例#1
0
        private string GetParameterActionDescription(params ObjectProperty[] additionalParameters)
        {
            var items = new List <string>();

            foreach (var prop in modifiedSensorParameters
                     .Where(c => !additionalParameters.Any(p => p.ToString() == c.Item1)) //Exclude any additionalParameters; we'll print them specially below
                     .OrderBy(c => c.Item1 != nameof(NewObjectParameters.Name)))          //Ensure property "Name" comes first (if applicable)
            {
                var val = prop.Item2.IsIEnumerable() ? string.Join(", ", prop.Item2.ToIEnumerable()) : prop.Item2?.ToString();

                items.Add($"{prop.Item1} = '{val}'");
            }

            foreach (var param in additionalParameters)
            {
                var name = ObjectPropertyParser.GetObjectPropertyName(param);

                var val = ParametersInternal.GetCustomParameterInternal(name)?.ToString();

                if (val?.Contains("\n") == true)
                {
                    items.Add($"{param} =\n\n{val}\n\n");
                }
                else
                {
                    items.Add($"{param} = '{val}'");
                }
            }

            return(MyInvocation.MyCommand.Name + ": " + string.Join(", ", items));
        }
示例#2
0
 /// <summary>
 ///     Adds a parameter.
 /// </summary>
 /// <param name="parameter">The parameter.</param>
 public virtual void AddParameter(Parameter parameter)
 {
     ParametersInternal.Add(parameter);
 }