Files
BunifuUiCrack/Bunifu.Licensing/Compatibility/StringHandlerCompatibility.cs
T
hexadecimal e3c1cdea0e Add source
2025-04-24 20:51:29 +03:00

47 lines
1.2 KiB
C#

#if NETFRAMEWORK || NET5_0 || NET5_0_OR_NETFRAMEWORK
using System;
using System.Text;
namespace System.Runtime.CompilerServices
{
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
public struct DefaultInterpolatedStringHandler
{
private StringBuilder _builder;
public DefaultInterpolatedStringHandler(int literalLength, int formattedCount)
{
_builder = new StringBuilder(literalLength + formattedCount * 11);
}
public string ToStringAndClear()
{
string result = _builder.ToString();
_builder.Clear();
return result;
}
public void AppendLiteral(string value)
{
_builder.Append(value);
}
public void AppendFormatted<T>(T value)
{
_builder.Append(value?.ToString() ?? string.Empty);
}
public void AppendFormatted<T>(T value, string format)
{
if (value is IFormattable formattable)
{
_builder.Append(formattable.ToString(format, null));
}
else
{
_builder.Append(value?.ToString() ?? string.Empty);
}
}
}
}
#endif