Ejemplo n.º 1
0
 public static void SetIn(TextReader newIn)
 {
     CheckNonNull(newIn, nameof(newIn));
     newIn = SyncTextReader.GetSynchronizedTextReader(newIn);
     lock (InternalSyncObject)
     {
         Volatile.Write(ref s_in, newIn);
     }
 }
Ejemplo n.º 2
0
        internal static TextReader GetOrCreateReader()
        {
            Stream inputStream = OpenStandardInput();

            return(SyncTextReader.GetSynchronizedTextReader(inputStream == Stream.Null ?
                                                            StreamReader.Null :
                                                            new StreamReader(
                                                                stream: inputStream,
                                                                encoding: InputEncoding,
                                                                detectEncodingFromByteOrderMarks: false,
                                                                bufferSize: DefaultConsoleBufferSize,
                                                                leaveOpen: true)));
        }
Ejemplo n.º 3
0
 private const int DefaultConsoleBufferSize = 256; // default size of buffer used in stream readers/writers
 internal static TextReader GetOrCreateReader()
 {
     if (Console.IsInputRedirected)
     {
         Stream inputStream = OpenStandardInput();
         return(SyncTextReader.GetSynchronizedTextReader(
                    inputStream == Stream.Null ?
                    StreamReader.Null :
                    new StreamReader(
                        stream: inputStream,
                        encoding: new ConsoleEncoding(Console.InputEncoding), // This ensures no prefix is written to the stream.
                        detectEncodingFromByteOrderMarks: false,
                        bufferSize: DefaultConsoleBufferSize,
                        leaveOpen: true)
                    ));
     }
     else
     {
         return(StdInReader);
     }
 }
Ejemplo n.º 4
0
 public static void SetIn(TextReader newIn)
 {
     CheckNonNull(newIn, "newIn");
     newIn = SyncTextReader.GetSynchronizedTextReader(newIn);
     lock (InternalSyncObject) { _in = newIn; }
 }