private void Parse() { var stringBuilder = new StringBuilder(); string consoleOutput = ConsoleOutput .Aggregate(stringBuilder, (sb, ti) => sb.AppendLine(ti.ItemSpec)) .ToString(); using (var reader = new StringReader(consoleOutput)) { string line; while ((line = reader.ReadLine()) != null) { DateTime dateTime; if (DateTime.TryParse(line, out dateTime)) { CommitDate = dateTime.ToString(Format); Log.LogMessage(String.Format("CommitDate: {0}", CommitDate)); return; } } if (String.IsNullOrEmpty(CommitDate)) { throw new FormatException(String.Format("wrong commit datetime string: '{0}'.", consoleOutput)); } } }