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
- GeometryGroup.cs
- StrokeCollectionConverter.cs
- ListenerAdapterBase.cs
- EffectiveValueEntry.cs
- MarkupWriter.cs
- SymbolPair.cs
- CompositeTypefaceMetrics.cs
- QueryCreatedEventArgs.cs
- InstanceLockQueryResult.cs
- TdsParserSafeHandles.cs
- HttpModuleActionCollection.cs
- DataObjectPastingEventArgs.cs
- metadatamappinghashervisitor.cs
- MobileTextWriter.cs
- WindowsIdentity.cs
- FilteredXmlReader.cs
- XmlAnyElementAttributes.cs
- XmlCodeExporter.cs
- XmlStringTable.cs
- ErrorFormatterPage.cs
- StreamInfo.cs
- BinaryMethodMessage.cs
- ViewGenerator.cs
- MembershipSection.cs
- AnnotationAdorner.cs
- QilInvoke.cs
- CodeNamespaceImport.cs
- WebMessageEncoderFactory.cs
- SuppressMessageAttribute.cs
- ExpressionLink.cs
- ReflectPropertyDescriptor.cs
- TableItemStyle.cs
- HostingEnvironment.cs
- EventEntry.cs
- HybridDictionary.cs
- WindowVisualStateTracker.cs
- InputScopeConverter.cs
- WorkflowMarkupSerializationProvider.cs
- TableDetailsCollection.cs
- UdpSocket.cs
- ContentElement.cs
- NoResizeHandleGlyph.cs
- XmlUtf8RawTextWriter.cs
- TrackBar.cs
- bindurihelper.cs
- AuthenticationServiceManager.cs
- UpdateCommand.cs
- CategoryNameCollection.cs
- ListChunk.cs
- namescope.cs
- EntityContainer.cs
- StateWorkerRequest.cs
- DesignerForm.cs
- MetadataArtifactLoaderCompositeResource.cs
- WizardStepCollectionEditor.cs
- SupportsPreviewControlAttribute.cs
- XmlnsDefinitionAttribute.cs
- RawStylusInput.cs
- SafeNativeMethodsOther.cs
- ApplicationTrust.cs
- PropertyBuilder.cs
- AbandonedMutexException.cs
- PermissionSetEnumerator.cs
- ImageSource.cs
- Baml2006ReaderContext.cs
- StorageComplexPropertyMapping.cs
- Reference.cs
- TransactionFlowBindingElementImporter.cs
- ErrorWebPart.cs
- BaseProcessor.cs
- unitconverter.cs
- StringInfo.cs
- QueueAccessMode.cs
- DateTimeOffsetConverter.cs
- compensatingcollection.cs
- TypefaceMap.cs
- Command.cs
- TypeSystem.cs
- DataGridViewIntLinkedList.cs
- UnauthorizedWebPart.cs
- HitTestFilterBehavior.cs
- Quaternion.cs
- UnsafePeerToPeerMethods.cs
- KeyValueConfigurationCollection.cs
- WebDisplayNameAttribute.cs
- IntegerValidatorAttribute.cs
- SqlUtil.cs
- XamlTreeBuilder.cs
- ProfileManager.cs
- FontFamilyIdentifier.cs
- ContextQuery.cs
- PtsHost.cs
- ContentControl.cs
- EntryWrittenEventArgs.cs
- NameScopePropertyAttribute.cs
- OperationAbortedException.cs
- WindowExtensionMethods.cs
- AddInEnvironment.cs
- ObjectStorage.cs
- SortExpressionBuilder.cs