/// <summary> /// Returns a <see cref="string"/> that represents this instance. /// </summary> /// <returns> /// A <see cref="string"/> representation of this instance. The format strings can be changed in the /// Resources.resx resource file at the key 'SolutionToString', 'SolutionProjects' and /// 'SolutionProjectDependencies'. /// </returns> /// <exception cref="ArgumentNullException"> /// The format string was a <see langword="null"/>. /// </exception> /// <exception cref="FormatException"> /// An index from the format string is either less than zero or greater than or equal to the number of arguments. /// </exception> public override string ToString() { return(String.Format( Resources.Solution_ToString, Environment.NewLine, '\t', Name, FileName, SolutionProjects.Any() ? SolutionProjects.Aggregate( String.Empty, (t, p) => string.Format( "{0}{1}{2}{2}{3}", t, Environment.NewLine, '\t', p)) : "None", SolutionProjectDependencies.Any() ? SolutionProjectDependencies.Aggregate( String.Empty, (t, p) => string.Format( "{0}{1}{2}{2}{3}:{4}", t, Environment.NewLine, '\t', p.Solution.Name, p.ProjectName)) : "None")); }