/// <summary> /// Get the text of the message in the given language. /// </summary> public virtual string GetMessage(IFormatProvider formatProvider = null) { // Get the message and fill in arguments. string message = _messageProvider.LoadMessage(_errorCode, formatProvider as CultureInfo); if (string.IsNullOrEmpty(message)) { return(string.Empty); } if (_arguments == null || _arguments.Length == 0) { return(message); } #if XSHARP var result = String.Format(formatProvider, message, GetArgumentsToUse(formatProvider)); result = result.Replace("'void*'", "'PTR'"); result = result.Replace("'XSharp.__Usual'", "'USUAL'"); result = result.Replace("'XSharp.__Date'", "'DATE'"); result = result.Replace("'XSharp.__Float'", "'FLOAT'"); result = result.Replace("'XSharp.__Array'", "'ARRAY'"); result = result.Replace("'XSharp.__Symbol'", "'SYMBOL'"); result = result.Replace("'XSharp.__Psz'", "'PSZ'"); return(result); #else return(String.Format(formatProvider, message, GetArgumentsToUse(formatProvider))); #endif }
private static void AssertExpectedMessageArgumentsLength(CommonMessageProvider messageProvider, int errorCode, int actualLength) { #if DEBUG if (!messageProvider.ShouldAssertExpectedMessageArgumentsLength(errorCode)) { return; } string message = messageProvider.LoadMessage(errorCode, language: null); var matches = Regex.Matches(message, @"\{\d+[}:]"); int expectedLength = 0; var bits = BitVector.Create(actualLength); foreach (object?m in matches) { if (m is Match match) { int value = int.Parse(match.Value[1..^ 1]);
/// <summary> /// Get the text of the message in the given language. /// </summary> public virtual string GetMessage(IFormatProvider formatProvider = null) { // Get the message and fill in arguments. string message = _messageProvider.LoadMessage(_errorCode, formatProvider as CultureInfo); if (string.IsNullOrEmpty(message)) { return(string.Empty); } if (_arguments == null || _arguments.Length == 0) { return(message); } return(String.Format(formatProvider, message, GetArgumentsToUse(formatProvider))); }
/// <summary> /// Get the text of the message in the given language. /// </summary> public virtual string GetMessage(CultureInfo culture = null) { if (culture == null) { culture = CultureInfo.InvariantCulture; } // Get the message and fill in arguments. string message = messageProvider.LoadMessage(errorCode, culture); if (string.IsNullOrEmpty(message)) { return(string.Empty); } if (arguments == null || arguments.Length == 0) { return(message); } object[] argumentsToUse = arguments; for (int i = 0; i < argumentsToUse.Length; i++) { DiagnosticInfo embedded = argumentsToUse[i] as DiagnosticInfo; if (embedded != null) { if (ReferenceEquals(argumentsToUse, arguments)) { argumentsToUse = new object[argumentsToUse.Length]; Array.Copy(arguments, argumentsToUse, argumentsToUse.Length); } argumentsToUse[i] = embedded.GetMessage(culture); } } return(String.Format(culture, message, argumentsToUse)); }
/// <summary> /// Get the text of the message in the given language. /// </summary> public virtual string GetMessage(CultureInfo culture = null) { if (culture == null) { culture = CultureInfo.InvariantCulture; } // Get the message and fill in arguments. string message = messageProvider.LoadMessage(errorCode, culture); if (string.IsNullOrEmpty(message)) { return(string.Empty); } if (arguments == null || arguments.Length == 0) { return(message); } return(String.Format(culture, message, GetArgumentsToUse(culture))); }