diff --git a/src/libraries/System.Console/ref/System.Console.cs b/src/libraries/System.Console/ref/System.Console.cs index 297f94aac0ec06..f9f471479809f6 100644 --- a/src/libraries/System.Console/ref/System.Console.cs +++ b/src/libraries/System.Console/ref/System.Console.cs @@ -171,6 +171,7 @@ public static void Write(long value) { } public static void Write(object? value) { } public static void Write(float value) { } public static void Write(string? value) { } + public static void Write(System.ReadOnlySpan value) { } public static void Write([System.Diagnostics.CodeAnalysis.StringSyntaxAttribute("CompositeFormat")] string format, object? arg0) { } public static void Write([System.Diagnostics.CodeAnalysis.StringSyntaxAttribute("CompositeFormat")] string format, object? arg0, object? arg1) { } public static void Write([System.Diagnostics.CodeAnalysis.StringSyntaxAttribute("CompositeFormat")] string format, object? arg0, object? arg1, object? arg2) { } @@ -192,6 +193,7 @@ public static void WriteLine(long value) { } public static void WriteLine(object? value) { } public static void WriteLine(float value) { } public static void WriteLine(string? value) { } + public static void WriteLine(ReadOnlySpan value) { } public static void WriteLine([System.Diagnostics.CodeAnalysis.StringSyntaxAttribute("CompositeFormat")] string format, object? arg0) { } public static void WriteLine([System.Diagnostics.CodeAnalysis.StringSyntaxAttribute("CompositeFormat")] string format, object? arg0, object? arg1) { } public static void WriteLine([System.Diagnostics.CodeAnalysis.StringSyntaxAttribute("CompositeFormat")] string format, object? arg0, object? arg1, object? arg2) { } diff --git a/src/libraries/System.Console/src/System/Console.cs b/src/libraries/System.Console/src/System/Console.cs index d2db8f831d448b..1703639ae8ff33 100644 --- a/src/libraries/System.Console/src/System/Console.cs +++ b/src/libraries/System.Console/src/System/Console.cs @@ -838,6 +838,12 @@ public static void WriteLine(string? value) Out.WriteLine(value); } + [MethodImplAttribute(MethodImplOptions.NoInlining)] + public static void WriteLine(ReadOnlySpan value) + { + Out.WriteLine(value); + } + [MethodImplAttribute(MethodImplOptions.NoInlining)] public static void WriteLine([StringSyntax(StringSyntaxAttribute.CompositeFormat)] string format, object? arg0) { @@ -994,6 +1000,12 @@ public static void Write(string? value) Out.Write(value); } + [MethodImplAttribute(MethodImplOptions.NoInlining)] + public static void Write(ReadOnlySpan value) + { + Out.Write(value); + } + private static void HandlePosixSignal(PosixSignalContext ctx) { Debug.Assert(ctx.Signal == PosixSignal.SIGINT || ctx.Signal == PosixSignal.SIGQUIT); diff --git a/src/libraries/System.Console/tests/ReadAndWrite.cs b/src/libraries/System.Console/tests/ReadAndWrite.cs index 3e165d38263926..546ce2568695ab 100644 --- a/src/libraries/System.Console/tests/ReadAndWrite.cs +++ b/src/libraries/System.Console/tests/ReadAndWrite.cs @@ -105,6 +105,7 @@ private static void WriteCore() Console.Write(50UL); Console.Write(new object()); Console.Write("Hello World"); + Console.Write("Hello World".AsSpan()); } private static void WriteLineCore() @@ -145,6 +146,7 @@ private static void WriteLineCore() Console.WriteLine(50UL); Console.WriteLine(new object()); Console.WriteLine("Hello World"); + Console.WriteLine("Hello World".AsSpan()); } [Fact] @@ -187,6 +189,7 @@ public static async Task OutWriteAndWriteLineOverloads() writer.Write(50UL); writer.Write(new object()); writer.Write("Hello World"); + writer.Write("Hello World".AsSpan()); writer.Flush();