Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / ndp / fx / src / Data / System / Data / SQLTypes / SqlCharStream.cs / 1 / 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;
#if WINFSInternalOnly
public
#else
internal
#endif
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;
#if WINFSInternalOnly
public
#else
internal
#endif
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
- codemethodreferenceexpression.cs
- SpeechAudioFormatInfo.cs
- ZoneLinkButton.cs
- AsyncStreamReader.cs
- ColumnBinding.cs
- IIS7WorkerRequest.cs
- BidOverLoads.cs
- TileBrush.cs
- TextTabProperties.cs
- TogglePattern.cs
- ImageBrush.cs
- InfoCardMetadataExchangeClient.cs
- FunctionNode.cs
- EntityDesignerDataSourceView.cs
- ItemCollectionEditor.cs
- TdsParserStateObject.cs
- GorillaCodec.cs
- XmlAnyAttributeAttribute.cs
- TemplateControlParser.cs
- RemoteWebConfigurationHost.cs
- Calendar.cs
- AsymmetricKeyExchangeDeformatter.cs
- SurrogateEncoder.cs
- NativeMethods.cs
- PlatformCulture.cs
- WebPartsPersonalization.cs
- TreeSet.cs
- EmissiveMaterial.cs
- StylusPlugin.cs
- RegistrationServices.cs
- FunctionDetailsReader.cs
- DialogResultConverter.cs
- SqlBinder.cs
- GeometryValueSerializer.cs
- WindowsSlider.cs
- CompositeTypefaceMetrics.cs
- RemoteWebConfigurationHostServer.cs
- RowUpdatedEventArgs.cs
- DataGridLengthConverter.cs
- PartManifestEntry.cs
- graph.cs
- X509CertificateTokenFactoryCredential.cs
- FocusTracker.cs
- GroupByExpressionRewriter.cs
- EventMetadata.cs
- Selection.cs
- XsdDataContractExporter.cs
- ImageListDesigner.cs
- DataServiceSaveChangesEventArgs.cs
- SourceSwitch.cs
- SHA384Managed.cs
- XmlElementAttributes.cs
- WebRequestModuleElementCollection.cs
- Select.cs
- FileNotFoundException.cs
- PropertyDescriptorComparer.cs
- LongPath.cs
- D3DImage.cs
- FamilyCollection.cs
- EntityContainer.cs
- _AutoWebProxyScriptEngine.cs
- DbConnectionPoolCounters.cs
- XmlSubtreeReader.cs
- PropertyGridCommands.cs
- FeatureSupport.cs
- FontStyles.cs
- PenContexts.cs
- SynchronizationFilter.cs
- RestClientProxyHandler.cs
- SimpleExpression.cs
- AuthenticatingEventArgs.cs
- WebPartDisplayModeCancelEventArgs.cs
- PictureBox.cs
- OneOfTypeConst.cs
- ServerIdentity.cs
- XamlWriter.cs
- ActionNotSupportedException.cs
- FlowDocumentPageViewerAutomationPeer.cs
- SystemIPGlobalStatistics.cs
- LongPath.cs
- WebPartDesigner.cs
- AtomParser.cs
- CollectionExtensions.cs
- TreeNodeCollection.cs
- EmbeddedObject.cs
- EntitySqlQueryState.cs
- NullableDoubleMinMaxAggregationOperator.cs
- AvTrace.cs
- PagePropertiesChangingEventArgs.cs
- FileUtil.cs
- SQLDateTime.cs
- PageRanges.cs
- DataGridViewRowCancelEventArgs.cs
- SingleSelectRootGridEntry.cs
- BinaryNode.cs
- BindUriHelper.cs
- RelationshipEndCollection.cs
- HttpWriter.cs
- OdbcHandle.cs
- SystemTcpStatistics.cs