using System.Runtime.CompilerServices;
public static class Program {
public static void Main() {
TextWriter.Null.WriteInterpolated($"Hei på deg {123}");
public static class TextWriterExtensions {
public static TextWriter WriteInterpolated(this TextWriter writer, [InterpolatedStringHandlerArgument(nameof(writer))] ref WriteInterpolatedStringHandler handler) => writer;
[InterpolatedStringHandler]
public readonly struct WriteInterpolatedStringHandler {
private readonly TextWriter _writer;
public WriteInterpolatedStringHandler(int literalLength, int formattedCount, TextWriter writer, out bool isEnabled) {
isEnabled = !ReferenceEquals(writer, TextWriter.Null);
public void AppendLiteral(string value) {
Console.WriteLine($"AppendLiteral: {value}");
public void AppendFormatted<T>(T value) {
Console.WriteLine($"AppendFormatted: {value}");
_writer.Write(value.ToString());