Răsfoiți Sursa

2002-08-23 Gonzalo Paniagua Javier <[email protected]>

	* StreamReader.cs: implemented NullStreamReader.

svn path=/trunk/mcs/; revision=6934
Gonzalo Paniagua Javier 23 ani în urmă
părinte
comite
a1d3678325

+ 4 - 0
mcs/class/corlib/System.IO/ChangeLog

@@ -1,3 +1,7 @@
+2002-08-23  Gonzalo Paniagua Javier <[email protected]>
+
+	* StreamReader.cs: implemented NullStreamReader.
+
 2002-08-21  Miguel de Icaza  <[email protected]>
 
 	* Path.cs (GetDirectoryName): Fix for filenames with size = 1

+ 34 - 1
mcs/class/corlib/System.IO/StreamReader.cs

@@ -32,8 +32,41 @@ namespace System.IO {
 
 		private Stream internalStream;
 
-		[MonoTODO("Make Read methods return 0, etc.")]
 		private class NullStreamReader : StreamReader {
+			public override int Peek ()
+			{
+				return -1;
+			}
+
+			public override int Read ()
+			{
+				return -1;
+			}
+
+			public override int Read (char[] buffer, int index, int count)
+			{
+				return 0;
+			}
+
+			public override string ReadLine ()
+			{
+				return null;
+			}
+
+			public override string ReadToEnd ()
+			{
+				return String.Empty;
+			}
+
+			public override Stream BaseStream
+			{
+				get { return Stream.Null; }
+			}
+
+			public override Encoding CurrentEncoding
+			{
+				get { return Encoding.Unicode; }
+			}
 		}
 
 		public new static readonly StreamReader Null = (StreamReader)(new NullStreamReader());