コード例 #1
0
        private static void WritePropertyValueToStringRepresentation(StringBuilder sb, IPropertySymbol namedTypeSymbol)
        {
            var propertyVauleEnclosingDelimiter = ObjectSeparatorTokensExtensions.GetSeparatorFor(namedTypeSymbol.Type.SpecialType);

            sb.Append(propertyVauleEnclosingDelimiter.GetOpeningSeparatorFor());

            var attributeFormatString = CompilationHelper.GetAttributesOfType <FormatToStringAttribute>(namedTypeSymbol).SingleOrDefault();

            if (attributeFormatString != null)
            {
                var format = GetFirstConstructorArgumentValueOfAttribute(attributeFormatString);
                sb.Append($"{{{namedTypeSymbol.Name}:{format}}}");
            }
            else
            {
                sb.Append($"{{{namedTypeSymbol.Name}}}");
            }

            sb.Append(propertyVauleEnclosingDelimiter.GetClosingSeparatorFor());
        }