DTLib.Demystifier/src/Ben.Demystifier/ResolvedParameter.cs
Alexander Sher fbd6ea49ab Allow demystifier to add strings to existing StringBuilder (second attempt) (#80)
* Allow demystifier to add strings to existing StringBuilder

* Add exception message
2019-02-10 20:50:33 +00:00

50 lines
1.2 KiB
C#

// Copyright (c) Ben A Adams. All rights reserved.
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
using System.Text;
namespace System.Diagnostics
{
public class ResolvedParameter
{
public string Name { get; set; }
public Type ResolvedType { get; set; }
public string Prefix { get; set; }
public override string ToString() => Append(new StringBuilder()).ToString();
internal StringBuilder Append(StringBuilder sb)
{
if (!string.IsNullOrEmpty(Prefix))
{
sb.Append(Prefix)
.Append(" ");
}
if (ResolvedType != null)
{
AppendTypeName(sb);
}
else
{
sb.Append("?");
}
if (!string.IsNullOrEmpty(Name))
{
sb.Append(" ")
.Append(Name);
}
return sb;
}
protected virtual void AppendTypeName(StringBuilder sb)
{
sb.AppendTypeDisplayName(ResolvedType, fullName: false, includeGenericParameterNames: true);
}
}
}