public static string ToCommandLineParameters(this ICommandLineParameter obj) { var parameters = obj.GetType() .GetProperties() .Select(p => OptionsPropertyToCommandLineParameter(p, p.GetValue(obj))) .Where(p => !string.IsNullOrEmpty(p)); return(string.Join(" ", parameters).Trim()); }
public static void PrintCommandLineParamsInfo(ICommandLineParameter[][] setOfSequencesOfCommandLineParameters) { FileInfo exeFileInfo = new FileInfo(Assembly.GetEntryAssembly().Location); StringBuilder stringBuilder = new StringBuilder(); foreach (ICommandLineParameter<string>[] sequenceOfCoCommandLineParameters in setOfSequencesOfCommandLineParameters) { stringBuilder.Append(exeFileInfo.Name).Append(" "); foreach (ICommandLineParameter<string> commandLineParameter in sequenceOfCoCommandLineParameters) { stringBuilder.Append(commandLineParameter.BuildExample()).Append(""); if (stringBuilder.Length > 0) { stringBuilder.Append(" "); } } stringBuilder.AppendLine(); } ConsoleExtensions.WriteInfo(stringBuilder.ToString()); }