| File: Commands\InvalidTemplateParametersException.cs | Web Access |
| Project: src\sdk\src\Cli\Microsoft.TemplateEngine.Cli\Microsoft.TemplateEngine.Cli.csproj (Microsoft.TemplateEngine.Cli) |
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. namespace Microsoft.TemplateEngine.Cli.Commands { internal class InvalidTemplateParametersException : Exception { private string? _message; public InvalidTemplateParametersException(CliTemplateInfo template, IReadOnlyDictionary<CliTemplateParameter, IReadOnlyList<string>> parameterErrors) { ParameterErrors = parameterErrors; Template = template; } public override string Message { get { if (_message == null) { StringBuilder stringBuilder = new(); stringBuilder.Append(string.Format(LocalizableStrings.Exception_InvalidTemplateParameters_MessageHeader, Template.Identity, Template.ShortNameList[0])); foreach (var error in ParameterErrors) { stringBuilder.AppendLine().Append(error.Key.Name.Indent(1)); foreach (var message in error.Value) { stringBuilder.AppendLine().Append(message.Indent(2)); } } _message = stringBuilder.ToString(); } return _message; } } public CliTemplateInfo Template { get; } internal IReadOnlyDictionary<CliTemplateParameter, IReadOnlyList<string>> ParameterErrors { get; } } }