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
- RenderOptions.cs
- SelectionItemProviderWrapper.cs
- XmlSchemaAll.cs
- counter.cs
- MatrixCamera.cs
- HttpProcessUtility.cs
- FieldDescriptor.cs
- DrawingAttributeSerializer.cs
- BuildDependencySet.cs
- MailAddress.cs
- ColumnMapProcessor.cs
- HasCopySemanticsAttribute.cs
- WindowsFormsLinkLabel.cs
- PointLightBase.cs
- LoadWorkflowByKeyAsyncResult.cs
- ConfigurationFileMap.cs
- EventHandlerList.cs
- AuthorizationContext.cs
- handlecollector.cs
- TextFormattingConverter.cs
- ErrorStyle.cs
- Types.cs
- DataTableTypeConverter.cs
- MissingFieldException.cs
- ImageListStreamer.cs
- XamlPointCollectionSerializer.cs
- SecurityCapabilities.cs
- TreeNodeCollection.cs
- MemberHolder.cs
- OpenFileDialog.cs
- XmlEncodedRawTextWriter.cs
- CurrencyManager.cs
- TabItemWrapperAutomationPeer.cs
- TagNameToTypeMapper.cs
- ServerProtocol.cs
- RelationshipEndCollection.cs
- PatternMatcher.cs
- StrokeSerializer.cs
- DynamicEndpoint.cs
- ITreeGenerator.cs
- Config.cs
- ByteStreamGeometryContext.cs
- SystemSounds.cs
- QuaternionRotation3D.cs
- RequestNavigateEventArgs.cs
- SchemaTableColumn.cs
- ButtonChrome.cs
- SHA256Managed.cs
- BamlLocalizableResourceKey.cs
- ADMembershipProvider.cs
- TypeNameConverter.cs
- _NetworkingPerfCounters.cs
- AsyncOperation.cs
- EncodingInfo.cs
- TreeNodeBindingCollection.cs
- FixUp.cs
- UIPermission.cs
- Label.cs
- PropertyGeneratedEventArgs.cs
- ListBoxChrome.cs
- MimeTypeMapper.cs
- SEHException.cs
- SqlInternalConnection.cs
- TileBrush.cs
- BufferedReadStream.cs
- InlinedAggregationOperator.cs
- PeerTransportListenAddressConverter.cs
- BasicAsyncResult.cs
- QuaternionConverter.cs
- InternalConfigRoot.cs
- BuildProviderCollection.cs
- UIElementCollection.cs
- ManagedCodeMarkers.cs
- PageParserFilter.cs
- FontClient.cs
- RootBrowserWindowProxy.cs
- BufferedOutputAsyncStream.cs
- GridViewCellAutomationPeer.cs
- FreezableOperations.cs
- DocumentOrderComparer.cs
- WebServicesSection.cs
- EventMap.cs
- XamlVector3DCollectionSerializer.cs
- FullTrustAssembliesSection.cs
- shaperfactoryquerycachekey.cs
- CommunicationObjectAbortedException.cs
- XmlDeclaration.cs
- AdCreatedEventArgs.cs
- DateTimeValueSerializerContext.cs
- BasicHttpBindingCollectionElement.cs
- UserControlParser.cs
- WebPartConnectionCollection.cs
- SystemIPGlobalStatistics.cs
- Int64AnimationUsingKeyFrames.cs
- QilStrConcatenator.cs
- XmlReflectionMember.cs
- CodeSnippetTypeMember.cs
- XmlSequenceWriter.cs
- CompositeDataBoundControl.cs
- PerformanceCounter.cs