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
![Network programming in C#, Network Programming in VB.NET, Network Programming in .NET](/images/book.jpg)
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- IPHostEntry.cs
- HttpsTransportBindingElement.cs
- ResourcePool.cs
- TemplateBamlTreeBuilder.cs
- GridSplitterAutomationPeer.cs
- SmtpMail.cs
- DictionaryManager.cs
- DiscardableAttribute.cs
- TypeForwardedToAttribute.cs
- InternalBufferOverflowException.cs
- RenderTargetBitmap.cs
- AttachedPropertyBrowsableWhenAttributePresentAttribute.cs
- ArrayTypeMismatchException.cs
- KerberosSecurityTokenProvider.cs
- DoubleLink.cs
- EncoderNLS.cs
- Literal.cs
- JournalEntryStack.cs
- MulticastNotSupportedException.cs
- DBCSCodePageEncoding.cs
- FileIOPermission.cs
- StylusEditingBehavior.cs
- UrlUtility.cs
- brushes.cs
- Error.cs
- TypePropertyEditor.cs
- FirstQueryOperator.cs
- ResourcePool.cs
- RegularExpressionValidator.cs
- AttachedAnnotation.cs
- SqlServices.cs
- StateDesigner.Helpers.cs
- SiteMapHierarchicalDataSourceView.cs
- SourceLineInfo.cs
- Schema.cs
- SafeNativeMethodsCLR.cs
- dsa.cs
- FontStyles.cs
- StringToken.cs
- CookieHandler.cs
- XmlDocumentType.cs
- DefaultExpression.cs
- DataGridViewColumn.cs
- RestClientProxyHandler.cs
- IOException.cs
- XPathParser.cs
- MethodImplAttribute.cs
- SHA512.cs
- DefaultPropertyAttribute.cs
- SoapExtensionTypeElementCollection.cs
- Funcletizer.cs
- TableLayoutPanelCellPosition.cs
- DesignTimeDataBinding.cs
- ViewValidator.cs
- StyleBamlRecordReader.cs
- Line.cs
- SubMenuStyleCollection.cs
- BindToObject.cs
- SecurityTokenRequirement.cs
- FileDataSourceCache.cs
- InlineObject.cs
- BitmapDownload.cs
- TypeInformation.cs
- InvalidMessageContractException.cs
- XmlWrappingWriter.cs
- XPathNode.cs
- ProxyGenerator.cs
- WarningException.cs
- CodeCompiler.cs
- Ref.cs
- IntegerFacetDescriptionElement.cs
- PreloadedPackages.cs
- ObjectPersistData.cs
- CategoryAttribute.cs
- AttachedPropertiesService.cs
- TabPage.cs
- FormatterServices.cs
- CommandExpr.cs
- CompressEmulationStream.cs
- CqlQuery.cs
- DefaultParameterValueAttribute.cs
- DataMisalignedException.cs
- SqlCommand.cs
- LinqDataSourceValidationException.cs
- KeyedByTypeCollection.cs
- MachineKeyConverter.cs
- JoinTreeSlot.cs
- FormViewUpdatedEventArgs.cs
- DataFormats.cs
- ParserExtension.cs
- AppDomainAttributes.cs
- ListViewInsertionMark.cs
- PasswordTextNavigator.cs
- Publisher.cs
- BackEase.cs
- GPPOINT.cs
- NamedPipeAppDomainProtocolHandler.cs
- DbProviderFactories.cs
- TypeDescriptionProvider.cs
- NativeMethods.cs