private bool GetValue(string name, out object value) { if (_allProperties.TryGetValue(name, out value)) { if (name.StartsWith("@")) { value = StructuredPropertyFormatter.DestructureObject(value); } } else { value = "{" + name + "}"; } return(true); }
private void EnsureToString() { if (_toString == null) { EnsureMessageTemplate(); EnsureAllProperties(); var writer = new StringWriter(); var delimiter = ""; if (_messageTemplate != null) { var messageFromTemplate = StringTemplate.Format(_messageTemplate, GetValue); writer.Write(messageFromTemplate); delimiter = "; "; } var excludeKeys = _messageTemplateKeys; excludeKeys.Add(MessageTemplateProperty); StructuredPropertyFormatter.FormatProperties(_allProperties, excludeKeys, writer, ref delimiter); _toString = writer.GetStringBuilder().ToString(); } }