Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / DataWeb / Design / system / Data / EntityModel / LazyTextWriterCreator.cs / 1305376 / LazyTextWriterCreator.cs
//---------------------------------------------------------------------- //// Copyright (c) Microsoft Corporation. All rights reserved. // // // @owner [....] // @backupOwner [....] //--------------------------------------------------------------------- using System.Diagnostics; using System.IO; namespace System.Data.Services.Design { ////// This class is responsible for abstracting the knowledge /// of whether the user provided a TextWriter or a FilePath. /// /// If the user gave us a filePath we try not to create the TextWriter /// till we absolutely need it in order to prevent the file from being created /// in error cases. /// internal class LazyTextWriterCreator : IDisposable { private bool _ownTextWriter; private TextWriter _writer; private string _targetFilePath; internal LazyTextWriterCreator(string targetFilePath) { Debug.Assert(targetFilePath != null, "targetFilePath parameter is null"); _ownTextWriter = true; _targetFilePath = targetFilePath; } internal LazyTextWriterCreator(TextWriter writer) { _writer = writer; } internal TextWriter GetOrCreateTextWriter() { if (_writer == null) { // lazy creating the writer _writer = new StreamWriter(_targetFilePath); } return _writer; } internal string TargetFilePath { get { return _targetFilePath; } } public void Dispose() { if (_ownTextWriter && _writer != null) { _writer.Dispose(); } GC.SuppressFinalize(this); } } } // 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
- ObjectViewListener.cs
- SectionInput.cs
- MenuItemAutomationPeer.cs
- ParserHooks.cs
- EntityDesignerDataSourceView.cs
- URLString.cs
- externdll.cs
- OpenTypeCommon.cs
- DateTimeOffsetConverter.cs
- ViewStateException.cs
- ControlPropertyNameConverter.cs
- EventMappingSettings.cs
- HtmlContainerControl.cs
- TcpTransportSecurity.cs
- Site.cs
- ConfigurationException.cs
- NamespaceEmitter.cs
- ConfigXmlSignificantWhitespace.cs
- CachingParameterInspector.cs
- RemoveFromCollection.cs
- ToggleButton.cs
- SoapDocumentServiceAttribute.cs
- RightsController.cs
- FirstMatchCodeGroup.cs
- StreamWithDictionary.cs
- QuaternionConverter.cs
- TrackingMemoryStreamFactory.cs
- SecurityVersion.cs
- FocusManager.cs
- XamlSerializer.cs
- ButtonChrome.cs
- Section.cs
- DataGridViewTextBoxColumn.cs
- PathFigure.cs
- Hashtable.cs
- safex509handles.cs
- CodeObjectCreateExpression.cs
- XmlHierarchyData.cs
- HttpVersion.cs
- WindowsFormsEditorServiceHelper.cs
- DetailsViewRowCollection.cs
- SharedPerformanceCounter.cs
- IPAddressCollection.cs
- ResourceDescriptionAttribute.cs
- XmlAttributeCollection.cs
- SQLBinaryStorage.cs
- TraceSource.cs
- AnonymousIdentificationModule.cs
- ClaimSet.cs
- CompilerParameters.cs
- wgx_commands.cs
- XmlC14NWriter.cs
- RawAppCommandInputReport.cs
- SecurityContext.cs
- WindowsAuthenticationEventArgs.cs
- SQLStringStorage.cs
- ChangePassword.cs
- ButtonBaseAutomationPeer.cs
- FixedSOMTextRun.cs
- XsdCachingReader.cs
- WasAdminWrapper.cs
- BitmapEffectGroup.cs
- MemberJoinTreeNode.cs
- SiteOfOriginContainer.cs
- GcHandle.cs
- TimeSpanConverter.cs
- LinearGradientBrush.cs
- DiscoveryDocument.cs
- KnownTypesProvider.cs
- RandomNumberGenerator.cs
- DataSysAttribute.cs
- FileDialogCustomPlacesCollection.cs
- VariableQuery.cs
- DesignerCatalogPartChrome.cs
- SafeRightsManagementPubHandle.cs
- DataStorage.cs
- CalendarKeyboardHelper.cs
- CopyOfAction.cs
- SqlClientWrapperSmiStream.cs
- PrePrepareMethodAttribute.cs
- PropertyValue.cs
- Italic.cs
- XmlSchemaIdentityConstraint.cs
- EqualityArray.cs
- UnsafeNativeMethods.cs
- ChangeInterceptorAttribute.cs
- QuaternionAnimation.cs
- CompilerParameters.cs
- MetadataFile.cs
- XPathNodeInfoAtom.cs
- UInt64.cs
- Literal.cs
- AccessorTable.cs
- BasePattern.cs
- WindowsSysHeader.cs
- ColorConverter.cs
- WebRequestModuleElementCollection.cs
- TraceLevelStore.cs
- WhiteSpaceTrimStringConverter.cs
- ExpressionContext.cs