Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / ndp / fx / src / DataEntity / System / Data / SqlClient / SqlGen / SqlWriter.cs / 2 / SqlWriter.cs
//---------------------------------------------------------------------- //// Copyright (c) Microsoft Corporation. All rights reserved. // // // @owner [....], [....] //--------------------------------------------------------------------- using System; using System.Collections.Generic; using System.Diagnostics; using System.IO; using System.Text; using System.Data.SqlClient; using System.Data.Metadata.Edm; using System.Data.Common.CommandTrees; namespace System.Data.SqlClient.SqlGen { ////// This extends StringWriter primarily to add the ability to add an indent /// to each line that is written out. /// class SqlWriter : StringWriter { // We start at -1, since the first select statement will increment it to 0. int indent = -1; ////// The number of tabs to be added at the beginning of each new line. /// internal int Indent { get { return indent; } set { indent = value; } } bool atBeginningOfLine = true; ////// /// /// public SqlWriter(StringBuilder b) : base(b, System.Globalization.CultureInfo.InvariantCulture) // I don't think the culture matters, but FxCop wants something { } ////// Reset atBeginningofLine if we detect the newline string. /// /// public override void Write(string value) { if (value == "\r\n") { base.WriteLine(); atBeginningOfLine = true; } else { if (atBeginningOfLine) { if (indent > 0) { base.Write(new string('\t', indent)); } atBeginningOfLine = false; } base.Write(value); } } ////// Add as many tabs as the value of indent if we are at the /// beginning of a line. /// /// /// public override void WriteLine() { base.WriteLine(); atBeginningOfLine = true; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //---------------------------------------------------------------------- //// Copyright (c) Microsoft Corporation. All rights reserved. // // // @owner [....], [....] //--------------------------------------------------------------------- using System; using System.Collections.Generic; using System.Diagnostics; using System.IO; using System.Text; using System.Data.SqlClient; using System.Data.Metadata.Edm; using System.Data.Common.CommandTrees; namespace System.Data.SqlClient.SqlGen { ////// This extends StringWriter primarily to add the ability to add an indent /// to each line that is written out. /// class SqlWriter : StringWriter { // We start at -1, since the first select statement will increment it to 0. int indent = -1; ////// The number of tabs to be added at the beginning of each new line. /// internal int Indent { get { return indent; } set { indent = value; } } bool atBeginningOfLine = true; ////// /// /// public SqlWriter(StringBuilder b) : base(b, System.Globalization.CultureInfo.InvariantCulture) // I don't think the culture matters, but FxCop wants something { } ////// Reset atBeginningofLine if we detect the newline string. /// /// public override void Write(string value) { if (value == "\r\n") { base.WriteLine(); atBeginningOfLine = true; } else { if (atBeginningOfLine) { if (indent > 0) { base.Write(new string('\t', indent)); } atBeginningOfLine = false; } base.Write(value); } } ////// Add as many tabs as the value of indent if we are at the /// beginning of a line. /// /// /// public override void WriteLine() { base.WriteLine(); atBeginningOfLine = true; } } } // 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
- GZipStream.cs
- MailAddressCollection.cs
- CollectionEditVerbManager.cs
- TypeConstant.cs
- WaitForChangedResult.cs
- ItemCheckEvent.cs
- BuildManagerHost.cs
- ImageSource.cs
- RequestCachePolicyConverter.cs
- xdrvalidator.cs
- XsdBuilder.cs
- ClientRuntimeConfig.cs
- DBParameter.cs
- SymmetricKeyWrap.cs
- HighlightComponent.cs
- Compiler.cs
- Events.cs
- ToolboxDataAttribute.cs
- UInt64.cs
- InputLanguageCollection.cs
- TagPrefixAttribute.cs
- IndexedString.cs
- SQLConvert.cs
- sitestring.cs
- Int16Converter.cs
- HtmlElementEventArgs.cs
- diagnosticsswitches.cs
- EdmError.cs
- AttachedPropertyMethodSelector.cs
- PathStreamGeometryContext.cs
- X509Certificate2.cs
- EntityTypeBase.cs
- HyperlinkAutomationPeer.cs
- UInt16.cs
- CompModHelpers.cs
- DelegateTypeInfo.cs
- XmlValidatingReaderImpl.cs
- ClickablePoint.cs
- CompModSwitches.cs
- SymbolMethod.cs
- BitmapImage.cs
- ObjectAnimationUsingKeyFrames.cs
- ServiceModelSectionGroup.cs
- RemotingConfiguration.cs
- NextPreviousPagerField.cs
- CodeTypeReferenceCollection.cs
- ScrollBarRenderer.cs
- RootBrowserWindowAutomationPeer.cs
- StandardCommandToolStripMenuItem.cs
- ThousandthOfEmRealPoints.cs
- NativeMsmqMessage.cs
- Operator.cs
- AsymmetricKeyExchangeDeformatter.cs
- MarkerProperties.cs
- TabletCollection.cs
- ByteStack.cs
- ClientUrlResolverWrapper.cs
- AutoScrollHelper.cs
- RuleEngine.cs
- DoubleAnimationUsingPath.cs
- WebSysDescriptionAttribute.cs
- SoapCodeExporter.cs
- PeerSecurityManager.cs
- JsonUriDataContract.cs
- MediaTimeline.cs
- Vector.cs
- AddInDeploymentState.cs
- HwndSubclass.cs
- ProxyWebPartConnectionCollection.cs
- DetailsViewInsertedEventArgs.cs
- StreamAsIStream.cs
- Internal.cs
- RuleAction.cs
- CodeRemoveEventStatement.cs
- XmlnsPrefixAttribute.cs
- RenderCapability.cs
- LinkLabel.cs
- SafeHandles.cs
- ActivityBindForm.Designer.cs
- StaticSiteMapProvider.cs
- PersonalizationEntry.cs
- InvalidPrinterException.cs
- ReferenceTypeElement.cs
- ChineseLunisolarCalendar.cs
- TraversalRequest.cs
- _RequestCacheProtocol.cs
- BasicExpandProvider.cs
- DataGridParentRows.cs
- DataGridColumn.cs
- SafeFileMapViewHandle.cs
- UIElement3D.cs
- DeploymentExceptionMapper.cs
- VirtualDirectoryMappingCollection.cs
- MessageFormatterConverter.cs
- ArithmeticException.cs
- WinFormsUtils.cs
- BehaviorEditorPart.cs
- SecureConversationServiceElement.cs
- InvokeMethodDesigner.xaml.cs
- GeneralTransformGroup.cs