Yes. The error occurs in sscli\clr\src\bcl\system\io\__consolestream.cs: public override void Close() { // We're probably better off not closing the OS handle here. First, // we allow a program to get multiple instances of __ConsoleStreams // around the same OS handle, so closing one handle would invalidate // them all. Additionally, we want a second AppDomain to be able to // write to stdout if a second AppDomain quits. if (_handle != Win32Native.INVALID_HANDLE_VALUE) { Flush(); _handle = Win32Native.INVALID_HANDLE_VALUE; } _canRead = false; _canWrite = false; }
public override void Flush() { if (_handle == Win32Native.INVALID_HANDLE_VALUE) __Error.FileNotOpen(); if (!CanWrite) __Error.WriteNotSupported(); } The last line throws the NotSupported exception since the stream is read-only. You could argue that this is a fairly minor annoyance with OpenStandardInput() because the Close() (or Flush()) is really a no-op since the underlying system handle is going to remain open and since the stream is read-only so there's no data to flush. This bug was already in the bug database. -----Original Message----- From: Jeroen Frijters [mailto:[EMAIL PROTECTED]] Sent: Wednesday, July 03, 2002 5:11 AM To: [EMAIL PROTECTED] Subject: ConsoleStream Bug The following throws a NotSupportedException: class test { public static void Main(string[] args) { System.Console.OpenStandardInput().Close(); } }