Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / ndp / clr / src / BCL / System / IO / StringWriter.cs / 1 / StringWriter.cs
// ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== /*============================================================ ** ** Class: StringWriter ** ** Purpose: For writing text to a string ** ** ===========================================================*/ using System; using System.Text; using System.Globalization; namespace System.IO { // This class implements a text writer that writes to a string buffer and allows // the resulting sequence of characters to be presented as a string. // [Serializable] [System.Runtime.InteropServices.ComVisible(true)] public class StringWriter : TextWriter { private static UnicodeEncoding m_encoding=null; private StringBuilder _sb; private bool _isOpen; // Constructs a new StringWriter. A new StringBuilder is automatically // created and associated with the new StringWriter. public StringWriter() : this(new StringBuilder(), CultureInfo.CurrentCulture) { } public StringWriter(IFormatProvider formatProvider) : this(new StringBuilder(), formatProvider) { } // Constructs a new StringWriter that writes to the given StringBuilder. // public StringWriter(StringBuilder sb) : this(sb, CultureInfo.CurrentCulture) { } public StringWriter(StringBuilder sb, IFormatProvider formatProvider) : base(formatProvider) { if (sb==null) throw new ArgumentNullException("sb", Environment.GetResourceString("ArgumentNull_Buffer")); _sb = sb; _isOpen = true; } public override void Close() { Dispose(true); } protected override void Dispose(bool disposing) { // Do not destroy _sb, so that we can extract this after we are // done writing (similar to MemoryStream's GetBuffer & ToArray methods) _isOpen = false; base.Dispose(disposing); } public override Encoding Encoding { get { if (m_encoding==null) { m_encoding = new UnicodeEncoding(false, false); } return m_encoding; } } // Returns the underlying StringBuilder. This is either the StringBuilder // that was passed to the constructor, or the StringBuilder that was // automatically created. // public virtual StringBuilder GetStringBuilder() { return _sb; } // Writes a character to the underlying string buffer. // public override void Write(char value) { if (!_isOpen) __Error.WriterClosed(); _sb.Append(value); } // Writes a range of a character array to the underlying string buffer. // This method will write count characters of data into this // StringWriter from the buffer character array starting at position // index. // public override void Write(char[] buffer, int index, int count) { if (!_isOpen) __Error.WriterClosed(); if (buffer==null) throw new ArgumentNullException("buffer", Environment.GetResourceString("ArgumentNull_Buffer")); if (index < 0) throw new ArgumentOutOfRangeException("index", Environment.GetResourceString("ArgumentOutOfRange_NeedNonNegNum")); if (count < 0) throw new ArgumentOutOfRangeException("count", Environment.GetResourceString("ArgumentOutOfRange_NeedNonNegNum")); if (buffer.Length - index < count) throw new ArgumentException(Environment.GetResourceString("Argument_InvalidOffLen")); _sb.Append(buffer, index, count); } // Writes a string to the underlying string buffer. If the given string is // null, nothing is written. // public override void Write(String value) { if (!_isOpen) __Error.WriterClosed(); if (value != null) _sb.Append(value); } // Returns a string containing the characters written to this TextWriter // so far. // public override String ToString() { return _sb.ToString(); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== /*============================================================ ** ** Class: StringWriter ** ** Purpose: For writing text to a string ** ** ===========================================================*/ using System; using System.Text; using System.Globalization; namespace System.IO { // This class implements a text writer that writes to a string buffer and allows // the resulting sequence of characters to be presented as a string. // [Serializable] [System.Runtime.InteropServices.ComVisible(true)] public class StringWriter : TextWriter { private static UnicodeEncoding m_encoding=null; private StringBuilder _sb; private bool _isOpen; // Constructs a new StringWriter. A new StringBuilder is automatically // created and associated with the new StringWriter. public StringWriter() : this(new StringBuilder(), CultureInfo.CurrentCulture) { } public StringWriter(IFormatProvider formatProvider) : this(new StringBuilder(), formatProvider) { } // Constructs a new StringWriter that writes to the given StringBuilder. // public StringWriter(StringBuilder sb) : this(sb, CultureInfo.CurrentCulture) { } public StringWriter(StringBuilder sb, IFormatProvider formatProvider) : base(formatProvider) { if (sb==null) throw new ArgumentNullException("sb", Environment.GetResourceString("ArgumentNull_Buffer")); _sb = sb; _isOpen = true; } public override void Close() { Dispose(true); } protected override void Dispose(bool disposing) { // Do not destroy _sb, so that we can extract this after we are // done writing (similar to MemoryStream's GetBuffer & ToArray methods) _isOpen = false; base.Dispose(disposing); } public override Encoding Encoding { get { if (m_encoding==null) { m_encoding = new UnicodeEncoding(false, false); } return m_encoding; } } // Returns the underlying StringBuilder. This is either the StringBuilder // that was passed to the constructor, or the StringBuilder that was // automatically created. // public virtual StringBuilder GetStringBuilder() { return _sb; } // Writes a character to the underlying string buffer. // public override void Write(char value) { if (!_isOpen) __Error.WriterClosed(); _sb.Append(value); } // Writes a range of a character array to the underlying string buffer. // This method will write count characters of data into this // StringWriter from the buffer character array starting at position // index. // public override void Write(char[] buffer, int index, int count) { if (!_isOpen) __Error.WriterClosed(); if (buffer==null) throw new ArgumentNullException("buffer", Environment.GetResourceString("ArgumentNull_Buffer")); if (index < 0) throw new ArgumentOutOfRangeException("index", Environment.GetResourceString("ArgumentOutOfRange_NeedNonNegNum")); if (count < 0) throw new ArgumentOutOfRangeException("count", Environment.GetResourceString("ArgumentOutOfRange_NeedNonNegNum")); if (buffer.Length - index < count) throw new ArgumentException(Environment.GetResourceString("Argument_InvalidOffLen")); _sb.Append(buffer, index, count); } // Writes a string to the underlying string buffer. If the given string is // null, nothing is written. // public override void Write(String value) { if (!_isOpen) __Error.WriterClosed(); if (value != null) _sb.Append(value); } // Returns a string containing the characters written to this TextWriter // so far. // public override String ToString() { return _sb.ToString(); } } } // 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
- ReachSerializationCacheItems.cs
- ExpressionEditorSheet.cs
- MediaTimeline.cs
- DrawingCollection.cs
- CodeTypeMember.cs
- SystemInfo.cs
- SectionInput.cs
- XMLUtil.cs
- FocusManager.cs
- SamlDoNotCacheCondition.cs
- PageHandlerFactory.cs
- BindingUtils.cs
- XamlToRtfParser.cs
- XmlChildNodes.cs
- EntityDataSourceReferenceGroup.cs
- DragEventArgs.cs
- InputLanguageSource.cs
- GridEntry.cs
- DataGridPagingPage.cs
- DecoderNLS.cs
- MethodImplAttribute.cs
- PointValueSerializer.cs
- GenericArgumentsUpdater.cs
- WeakReadOnlyCollection.cs
- LinkUtilities.cs
- httpstaticobjectscollection.cs
- MessagePropertyFilter.cs
- WebBrowserDocumentCompletedEventHandler.cs
- EntityViewContainer.cs
- BooleanToVisibilityConverter.cs
- PeekCompletedEventArgs.cs
- WorkflowServiceNamespace.cs
- Constants.cs
- ProxyWebPartManager.cs
- TypedElement.cs
- TraceHandlerErrorFormatter.cs
- CodeDelegateInvokeExpression.cs
- CompositeDesignerAccessibleObject.cs
- CollectionViewGroupRoot.cs
- ViewEventArgs.cs
- SafeNativeMethods.cs
- FolderNameEditor.cs
- path.cs
- ToolStripItemClickedEventArgs.cs
- ZoomComboBox.cs
- LoadedOrUnloadedOperation.cs
- XmlTextEncoder.cs
- TreeNodeBinding.cs
- EvidenceBase.cs
- PersonalizationEntry.cs
- SplashScreenNativeMethods.cs
- InstanceNameConverter.cs
- DESCryptoServiceProvider.cs
- BitmapFrameDecode.cs
- InvalidOleVariantTypeException.cs
- RIPEMD160Managed.cs
- CrossContextChannel.cs
- NonVisualControlAttribute.cs
- GeneralTransform2DTo3DTo2D.cs
- CodeMemberProperty.cs
- VarInfo.cs
- ToolStripMenuItem.cs
- PageVisual.cs
- SplayTreeNode.cs
- SqlCaseSimplifier.cs
- StorageBasedPackageProperties.cs
- PageThemeBuildProvider.cs
- ItemsControl.cs
- SqlConnectionString.cs
- CustomError.cs
- CollectionAdapters.cs
- DateTimeSerializationSection.cs
- WmfPlaceableFileHeader.cs
- QueryStringConverter.cs
- HttpRuntimeSection.cs
- DetailsViewInsertedEventArgs.cs
- BindingContext.cs
- RenderData.cs
- ObjectSet.cs
- ArcSegment.cs
- SingleAnimationBase.cs
- HitTestFilterBehavior.cs
- PropertyGeneratedEventArgs.cs
- MailWriter.cs
- MessageSecurityOverMsmq.cs
- OutOfMemoryException.cs
- WebPartConnectionsConfigureVerb.cs
- AudioBase.cs
- JsonWriter.cs
- EpmContentSerializerBase.cs
- DataRelation.cs
- RuntimeArgumentHandle.cs
- CustomTypeDescriptor.cs
- UIServiceHelper.cs
- SQLResource.cs
- CreateParams.cs
- InvariantComparer.cs
- WebBrowserUriTypeConverter.cs
- RequestCachePolicy.cs
- SchemaImporterExtension.cs