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
- BulletedListEventArgs.cs
- ProcessModelSection.cs
- AffineTransform3D.cs
- UnmanagedMarshal.cs
- PreviewPrintController.cs
- PublisherMembershipCondition.cs
- PrincipalPermission.cs
- PhysicalOps.cs
- RequestResizeEvent.cs
- XMLDiffLoader.cs
- StaticFileHandler.cs
- Dictionary.cs
- ConnectionProviderAttribute.cs
- NamespaceImport.cs
- ClientBuildManager.cs
- MetadataItem.cs
- SocketPermission.cs
- EventLogTraceListener.cs
- ReverseInheritProperty.cs
- OdbcCommand.cs
- RoleService.cs
- CompressEmulationStream.cs
- Int16KeyFrameCollection.cs
- RelatedImageListAttribute.cs
- BitmapEffectDrawingContent.cs
- XmlValidatingReaderImpl.cs
- WebHttpElement.cs
- SuppressMessageAttribute.cs
- ItemDragEvent.cs
- TableLayoutColumnStyleCollection.cs
- DecoderExceptionFallback.cs
- ModulesEntry.cs
- ActivitySurrogate.cs
- ExpressionStringBuilder.cs
- EntityAdapter.cs
- _NetworkingPerfCounters.cs
- DiscoveryEndpoint.cs
- CalendarAutoFormat.cs
- ToolStripItemEventArgs.cs
- XmlSchemaComplexType.cs
- TypeConverterHelper.cs
- XmlSiteMapProvider.cs
- CodeCommentStatementCollection.cs
- ThemeableAttribute.cs
- OverflowException.cs
- Selector.cs
- CellParaClient.cs
- Composition.cs
- BuildResult.cs
- HostedTcpTransportManager.cs
- DataContractSet.cs
- CryptoConfig.cs
- ACE.cs
- VisualStyleElement.cs
- ContextMenuStrip.cs
- UInt32.cs
- PrimitiveType.cs
- HiddenField.cs
- HyperLinkDataBindingHandler.cs
- EUCJPEncoding.cs
- GacUtil.cs
- BoundPropertyEntry.cs
- DistinctQueryOperator.cs
- ExeConfigurationFileMap.cs
- ZoneButton.cs
- GPRECT.cs
- FigureParaClient.cs
- _ScatterGatherBuffers.cs
- GPPOINT.cs
- AssertSection.cs
- CLRBindingWorker.cs
- ImportOptions.cs
- Funcletizer.cs
- MissingMethodException.cs
- Type.cs
- DrawingAttributesDefaultValueFactory.cs
- InvokeGenerator.cs
- HwndSourceParameters.cs
- mediapermission.cs
- SmtpFailedRecipientsException.cs
- MarshalDirectiveException.cs
- BindUriHelper.cs
- SafeUserTokenHandle.cs
- CodeTypeReferenceExpression.cs
- _Semaphore.cs
- XmlSchemaException.cs
- TransactionScope.cs
- ControlUtil.cs
- DbProviderFactory.cs
- Context.cs
- MimeMapping.cs
- CurrencyWrapper.cs
- ExceptionUtil.cs
- WorkflowDispatchContext.cs
- GridViewCancelEditEventArgs.cs
- NameTable.cs
- StrongBox.cs
- ReachUIElementCollectionSerializerAsync.cs
- NamespaceDecl.cs
- SchemaCollectionCompiler.cs