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
- GenericAuthenticationEventArgs.cs
- AssemblyResourceLoader.cs
- WizardPanelChangingEventArgs.cs
- RestHandlerFactory.cs
- Baml2006ReaderFrame.cs
- LocalizableAttribute.cs
- SafeNativeMethods.cs
- TableItemPattern.cs
- SpStreamWrapper.cs
- ProcessModelInfo.cs
- CalendarDateChangedEventArgs.cs
- log.cs
- HttpContext.cs
- TargetException.cs
- MembershipSection.cs
- FeatureAttribute.cs
- JsonFormatWriterGenerator.cs
- AssertUtility.cs
- PolicyStatement.cs
- QueryOpeningEnumerator.cs
- SQLDecimal.cs
- UserPreferenceChangedEventArgs.cs
- MembershipPasswordException.cs
- Identifier.cs
- PersonalizablePropertyEntry.cs
- NameTable.cs
- BitmapSourceSafeMILHandle.cs
- CredentialSelector.cs
- CodeDelegateCreateExpression.cs
- URLMembershipCondition.cs
- CheckBoxAutomationPeer.cs
- QueueProcessor.cs
- PopupRootAutomationPeer.cs
- ImportCatalogPart.cs
- Completion.cs
- VisualStyleRenderer.cs
- NullableLongMinMaxAggregationOperator.cs
- DataGridViewButtonColumn.cs
- Renderer.cs
- MarkupCompiler.cs
- WorkflowItemPresenter.cs
- ExtendedPropertyDescriptor.cs
- HttpContextServiceHost.cs
- EpmSyndicationContentDeSerializer.cs
- SubtreeProcessor.cs
- TextServicesHost.cs
- ClientSettingsProvider.cs
- TypeDescriptor.cs
- ToolStripHighContrastRenderer.cs
- PersonalizationState.cs
- Code.cs
- DescendantQuery.cs
- NavigationEventArgs.cs
- ByteAnimationBase.cs
- UrlMappingCollection.cs
- SamlAssertionKeyIdentifierClause.cs
- WebPartCancelEventArgs.cs
- WpfSharedXamlSchemaContext.cs
- NotifyIcon.cs
- ResourcePermissionBase.cs
- SymDocumentType.cs
- UriSection.cs
- EntityTypeEmitter.cs
- WinCategoryAttribute.cs
- TableColumnCollection.cs
- Parameter.cs
- FormsAuthenticationTicket.cs
- Vector.cs
- SelectionRange.cs
- ExpandedWrapper.cs
- TraceInternal.cs
- DigitalSignature.cs
- SiteMap.cs
- LineServicesRun.cs
- HostingEnvironmentException.cs
- ClickablePoint.cs
- MarkerProperties.cs
- ProxyElement.cs
- BmpBitmapEncoder.cs
- BaseDataListDesigner.cs
- WindowsFont.cs
- XmlDeclaration.cs
- ByteFacetDescriptionElement.cs
- DataGridViewAdvancedBorderStyle.cs
- CallbackTimeoutsElement.cs
- ResourceManager.cs
- RSAPKCS1KeyExchangeFormatter.cs
- SoapElementAttribute.cs
- CategoryGridEntry.cs
- WsdlBuildProvider.cs
- NameTable.cs
- ExcCanonicalXml.cs
- ToggleButton.cs
- SynchronizedDispatch.cs
- LinearGradientBrush.cs
- NavigatingCancelEventArgs.cs
- TaskResultSetter.cs
- MissingSatelliteAssemblyException.cs
- FormatConvertedBitmap.cs
- UniqueIdentifierService.cs