/// <summary>
 /// Проверить значение, уже десериализованное, на вхождение в AllowedValues
 /// </summary>
 void CheckByAllowedValues(object value, string valueSrc, bool isFromCmd)
 {
     if (AllowedValues?.Length > 0 &&
         AllowedValues.Where(x => x != null).All(x => !CompareWithAllowedValue(value, x)))
     {
         string e = $"Argument [{Name}]: value [{valueSrc}] is not allowed";
         throw isFromCmd ? (Exception) new CmdException(e) : new ConfException(e);
     }
 }