SqlCharStream.cs source code in C# .NET

Source code for the .NET framework in C#

                        

Code:

/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Data / System / Data / SQLTypes / SqlCharStream.cs / 1305376 / SqlCharStream.cs

                            //------------------------------------------------------------------------------ 
// 
//     Copyright (c) Microsoft Corporation.  All rights reserved.
//  
// junfang 
// [....]
// [....] 
//----------------------------------------------------------------------------- 

//************************************************************************* 
// @File: SqlStreamChars.cs
//
// Create by:	JunFang
// 
// Description:
// 
// Notes: 
//	
// History: 
//
//   04/17/01  JunFang	Created.
//
// @EndHeader@ 
//*************************************************************************
 
namespace System.Data.SqlTypes 
 	{
	using System; 
	using System.IO;
	using System.Runtime.InteropServices;
 	using System.Data.SqlTypes;
 
	internal abstract class SqlStreamChars: System.Data.SqlTypes.INullable, IDisposable
 		{ 
 		public abstract bool IsNull { get; } 

		public abstract bool CanRead { get; } 

 		public abstract bool CanSeek { get; }

		public abstract bool CanWrite { get; } 

		public abstract long Length { get; } 
 
		public abstract long Position { get; set; }
 
 		// --------------------------------------------------------------
		//	  Public methods
 		// -------------------------------------------------------------
 		public abstract int Read (char[] buffer, int offset, int count); 

		public abstract void Write (char[] buffer, int offset, int count); 
 
 		public abstract long Seek (long offset, SeekOrigin origin);
 
		public abstract void SetLength (long value);

		public abstract void Flush ();
 
		public virtual void Close(){
 			Dispose(true); 
		} 

 		void IDisposable.Dispose() { 
            Dispose(true);
        }

 		protected virtual void Dispose(bool disposing) { 
		}
 
 		public virtual int ReadChar() 
			{
			// Reads one char from the stream by calling Read(char[], int, int). 
			// Will return an char cast to an int or -1 on end of stream.
 			// The performance of the default implementation on Stream is bad,
			// and any subclass with an internal buffer should override this method.
 			char[] oneCharArray = new char[1]; 
 			int r = Read(oneCharArray, 0, 1);
			if (r==0) 
 				return -1; 
			return oneCharArray[0];
			} 

		public virtual void WriteChar(char value)
 			{
			// Writes one char from the stream by calling Write(char[], int, int). 
 			// The performance of the default implementation on Stream is bad,
 			// and any subclass with an internal buffer should override this method. 
			char[] oneCharArray = new char[1]; 
 			oneCharArray[0] = value;
			Write(oneCharArray, 0, 1); 
			}


		// Private class: the Null SqlStreamChars 
 		private class NullSqlStreamChars : SqlStreamChars
			{ 
 			// -------------------------------------------------------------- 
 			//	  Constructor(s)
			// -------------------------------------------------------------- 

 			internal NullSqlStreamChars()
				{
				} 

 
			// ------------------------------------------------------------- 
 			//	  Public properties
			// -------------------------------------------------------------- 

 			public override bool IsNull
 				{
				get 
 					{
					return true; 
					} 
				}
 
 			public override bool CanRead
				{
 				get
 					{ 
					return false;
 					} 
				} 

			public override bool CanSeek 
				{
 				get
					{
 					return false; 
 					}
				} 
 
 			public override bool CanWrite
				{ 
				get
					{
 					return false;
					} 
 				}
 
 			public override long Length 
				{
 				get 
					{
					throw new SqlNullValueException();
					}
 				} 

			public override long Position 
 				{ 
 				get
					{ 
 					throw new SqlNullValueException();
					}
				set
					{ 
 					throw new SqlNullValueException();
					} 
 				} 

 			// ------------------------------------------------------------- 
			//	  Public methods
 			// -------------------------------------------------------------
			public override int Read (char[] buffer, int offset, int count)
				{ 
				throw new SqlNullValueException();
 				} 
 
			public override void Write (char[] buffer, int offset, int count)
 				{ 
 				throw new SqlNullValueException();
				}

 			public override long Seek (long offset, SeekOrigin origin) 
				{
				throw new SqlNullValueException(); 
				} 

 			public override void SetLength (long value) 
				{
 				throw new SqlNullValueException();
 				}
 
			public override void Flush ()
 				{ 
				throw new SqlNullValueException(); 
				}
 
			public override void Close ()
 				{
				}
 
 			} // class NullSqlStreamChars
 
 
 		// The Null instance
		public static SqlStreamChars Null { 
                    get {
                        return new NullSqlStreamChars();
                    }
 		} 

		} // class SqlStreamChars 
 
	} // namespace System.Data.SqlTypes

// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
//------------------------------------------------------------------------------ 
// 
//     Copyright (c) Microsoft Corporation.  All rights reserved.
//  
// junfang 
// [....]
// [....] 
//----------------------------------------------------------------------------- 

//************************************************************************* 
// @File: SqlStreamChars.cs
//
// Create by:	JunFang
// 
// Description:
// 
// Notes: 
//	
// History: 
//
//   04/17/01  JunFang	Created.
//
// @EndHeader@ 
//*************************************************************************
 
namespace System.Data.SqlTypes 
 	{
	using System; 
	using System.IO;
	using System.Runtime.InteropServices;
 	using System.Data.SqlTypes;
 
	internal abstract class SqlStreamChars: System.Data.SqlTypes.INullable, IDisposable
 		{ 
 		public abstract bool IsNull { get; } 

		public abstract bool CanRead { get; } 

 		public abstract bool CanSeek { get; }

		public abstract bool CanWrite { get; } 

		public abstract long Length { get; } 
 
		public abstract long Position { get; set; }
 
 		// --------------------------------------------------------------
		//	  Public methods
 		// -------------------------------------------------------------
 		public abstract int Read (char[] buffer, int offset, int count); 

		public abstract void Write (char[] buffer, int offset, int count); 
 
 		public abstract long Seek (long offset, SeekOrigin origin);
 
		public abstract void SetLength (long value);

		public abstract void Flush ();
 
		public virtual void Close(){
 			Dispose(true); 
		} 

 		void IDisposable.Dispose() { 
            Dispose(true);
        }

 		protected virtual void Dispose(bool disposing) { 
		}
 
 		public virtual int ReadChar() 
			{
			// Reads one char from the stream by calling Read(char[], int, int). 
			// Will return an char cast to an int or -1 on end of stream.
 			// The performance of the default implementation on Stream is bad,
			// and any subclass with an internal buffer should override this method.
 			char[] oneCharArray = new char[1]; 
 			int r = Read(oneCharArray, 0, 1);
			if (r==0) 
 				return -1; 
			return oneCharArray[0];
			} 

		public virtual void WriteChar(char value)
 			{
			// Writes one char from the stream by calling Write(char[], int, int). 
 			// The performance of the default implementation on Stream is bad,
 			// and any subclass with an internal buffer should override this method. 
			char[] oneCharArray = new char[1]; 
 			oneCharArray[0] = value;
			Write(oneCharArray, 0, 1); 
			}


		// Private class: the Null SqlStreamChars 
 		private class NullSqlStreamChars : SqlStreamChars
			{ 
 			// -------------------------------------------------------------- 
 			//	  Constructor(s)
			// -------------------------------------------------------------- 

 			internal NullSqlStreamChars()
				{
				} 

 
			// ------------------------------------------------------------- 
 			//	  Public properties
			// -------------------------------------------------------------- 

 			public override bool IsNull
 				{
				get 
 					{
					return true; 
					} 
				}
 
 			public override bool CanRead
				{
 				get
 					{ 
					return false;
 					} 
				} 

			public override bool CanSeek 
				{
 				get
					{
 					return false; 
 					}
				} 
 
 			public override bool CanWrite
				{ 
				get
					{
 					return false;
					} 
 				}
 
 			public override long Length 
				{
 				get 
					{
					throw new SqlNullValueException();
					}
 				} 

			public override long Position 
 				{ 
 				get
					{ 
 					throw new SqlNullValueException();
					}
				set
					{ 
 					throw new SqlNullValueException();
					} 
 				} 

 			// ------------------------------------------------------------- 
			//	  Public methods
 			// -------------------------------------------------------------
			public override int Read (char[] buffer, int offset, int count)
				{ 
				throw new SqlNullValueException();
 				} 
 
			public override void Write (char[] buffer, int offset, int count)
 				{ 
 				throw new SqlNullValueException();
				}

 			public override long Seek (long offset, SeekOrigin origin) 
				{
				throw new SqlNullValueException(); 
				} 

 			public override void SetLength (long value) 
				{
 				throw new SqlNullValueException();
 				}
 
			public override void Flush ()
 				{ 
				throw new SqlNullValueException(); 
				}
 
			public override void Close ()
 				{
				}
 
 			} // class NullSqlStreamChars
 
 
 		// The Null instance
		public static SqlStreamChars Null { 
                    get {
                        return new NullSqlStreamChars();
                    }
 		} 

		} // class SqlStreamChars 
 
	} // namespace System.Data.SqlTypes

// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
                        

Link Menu

Network programming in C#, Network Programming in VB.NET, Network Programming in .NET
This book is available now!
Buy at Amazon US or
Buy at Amazon UK