using System; using AsbCloudApp.Exceptions.Interfaces; namespace AsbCloudApp.Exceptions; /// /// Исключение для нескольких невалидных агрументов /// public class ArgumentsInvalidException : Exception, IHasValidation { /// /// Имена параметров /// public string[] ParamNames { get; } = Array.Empty(); /// /// Контсруктор исключения /// /// /// public ArgumentsInvalidException(string message, string[] paramNames) { ParamNames = paramNames; } /// /// преобразование в объект валидации /// /// public object ToValidationErrorObject() => MakeValidationError(ParamNames, Message); /// /// фабрика объекта валидации /// /// /// /// public static object MakeValidationError(string[] paramNames, params string[] errors) => new { names = paramNames, errors, }; }