Code:
/ 4.0 / 4.0 / untmp / 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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- PropertyEmitter.cs
- CheckoutException.cs
- StylusPointPropertyInfo.cs
- TogglePattern.cs
- CancelRequestedQuery.cs
- GeneralTransformCollection.cs
- EntityModelBuildProvider.cs
- CroppedBitmap.cs
- InProcStateClientManager.cs
- DataServiceQueryOfT.cs
- MenuItemBinding.cs
- ClientTarget.cs
- DesignTimeParseData.cs
- DataBinding.cs
- Psha1DerivedKeyGenerator.cs
- SecurityBindingElement.cs
- NamedPipeTransportSecurityElement.cs
- FragmentQuery.cs
- Misc.cs
- Selection.cs
- Util.cs
- GenericsInstances.cs
- WhitespaceReader.cs
- VideoDrawing.cs
- TabletDevice.cs
- formatstringdialog.cs
- DeleteIndexBinder.cs
- ResourceReferenceExpressionConverter.cs
- RuntimeCompatibilityAttribute.cs
- Rotation3DAnimationUsingKeyFrames.cs
- DesignSurface.cs
- XhtmlBasicCommandAdapter.cs
- Misc.cs
- IDispatchConstantAttribute.cs
- DesignerLoader.cs
- FlowDocumentFormatter.cs
- DataPagerFieldCommandEventArgs.cs
- XomlCompiler.cs
- HwndHost.cs
- TrustManagerPromptUI.cs
- HtmlElementErrorEventArgs.cs
- XmlAttributeAttribute.cs
- RuleProcessor.cs
- ErrorInfoXmlDocument.cs
- WindowsRebar.cs
- PolicyLevel.cs
- KeyInterop.cs
- shaper.cs
- DocumentationServerProtocol.cs
- DynamicMethod.cs
- StateBag.cs
- KeyValueConfigurationElement.cs
- OdbcConnectionPoolProviderInfo.cs
- ReadOnlyDataSourceView.cs
- MergeFailedEvent.cs
- DataGridViewSelectedColumnCollection.cs
- PolyLineSegment.cs
- Oid.cs
- MeshGeometry3D.cs
- ToolStripItemGlyph.cs
- RelOps.cs
- OledbConnectionStringbuilder.cs
- DataRowView.cs
- GradientSpreadMethodValidation.cs
- SqlServer2KCompatibilityAnnotation.cs
- WindowsMenu.cs
- LifetimeServices.cs
- ConstructorBuilder.cs
- TraceSource.cs
- TdsParserStateObject.cs
- DataGridViewColumnDesignTimeVisibleAttribute.cs
- ImageCollectionEditor.cs
- GatewayDefinition.cs
- ColumnReorderedEventArgs.cs
- UInt16Converter.cs
- BaseServiceProvider.cs
- PEFileEvidenceFactory.cs
- UnsafeNativeMethods.cs
- TerminateSequence.cs
- SwitchAttribute.cs
- DeferredElementTreeState.cs
- XmlDocumentFragment.cs
- SrgsOneOf.cs
- ConnectionProviderAttribute.cs
- Scene3D.cs
- WinEventWrap.cs
- ExpressionVisitor.cs
- ShapeTypeface.cs
- TextOutput.cs
- ReadOnlyTernaryTree.cs
- XmlParserContext.cs
- SiteOfOriginPart.cs
- Scripts.cs
- PeerApplication.cs
- WebColorConverter.cs
- DateRangeEvent.cs
- Int32RectValueSerializer.cs
- ManipulationPivot.cs
- RemotingException.cs
- ByteArrayHelperWithString.cs