Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / ndp / fx / src / DataEntityDesign / Design / System / Data / EntityModel / LazyTextWriterCreator.cs / 1 / LazyTextWriterCreator.cs
//---------------------------------------------------------------------- //// Copyright (c) Microsoft Corporation. All rights reserved. // // // @owner [....] // @backupOwner [....] //--------------------------------------------------------------------- using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.IO; using System.Diagnostics; namespace System.Data.Entity.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 = null; private string _targetFilePath = null; internal LazyTextWriterCreator(TextWriter writer) { Debug.Assert(writer != null, "writer parameter is null"); _ownTextWriter = false; _writer = writer; } internal LazyTextWriterCreator(string targetFilePath) { Debug.Assert(targetFilePath != null, "targetFilePath parameter is null"); _ownTextWriter = true; _targetFilePath = targetFilePath; } 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(); } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //---------------------------------------------------------------------- //// Copyright (c) Microsoft Corporation. All rights reserved. // // // @owner [....] // @backupOwner [....] //--------------------------------------------------------------------- using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.IO; using System.Diagnostics; namespace System.Data.Entity.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 = null; private string _targetFilePath = null; internal LazyTextWriterCreator(TextWriter writer) { Debug.Assert(writer != null, "writer parameter is null"); _ownTextWriter = false; _writer = writer; } internal LazyTextWriterCreator(string targetFilePath) { Debug.Assert(targetFilePath != null, "targetFilePath parameter is null"); _ownTextWriter = true; _targetFilePath = targetFilePath; } 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(); } } } } // 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
- DiagnosticTraceSource.cs
- EmptyQuery.cs
- XmlMessageFormatter.cs
- ClientTarget.cs
- LongAverageAggregationOperator.cs
- _KerberosClient.cs
- LicenseContext.cs
- CodeGenerator.cs
- ObjectFactoryCodeDomTreeGenerator.cs
- OrderedDictionaryStateHelper.cs
- RootNamespaceAttribute.cs
- DbgUtil.cs
- PolicyDesigner.cs
- BulletedList.cs
- ClientSideProviderDescription.cs
- NativeMethods.cs
- TextEditorSpelling.cs
- WSHttpSecurityElement.cs
- VoiceInfo.cs
- StructuredCompositeActivityDesigner.cs
- EndpointIdentity.cs
- ManifestResourceInfo.cs
- DbConnectionStringBuilder.cs
- RootBrowserWindowAutomationPeer.cs
- invalidudtexception.cs
- RenderDataDrawingContext.cs
- BitmapMetadataEnumerator.cs
- EncryptedType.cs
- Guid.cs
- HostingEnvironmentException.cs
- DbModificationClause.cs
- Queue.cs
- Grammar.cs
- DataGridViewAdvancedBorderStyle.cs
- IndentedTextWriter.cs
- SqlNodeAnnotations.cs
- ErrorLog.cs
- TextBoxDesigner.cs
- SaveFileDialog.cs
- PrintEvent.cs
- PassportAuthentication.cs
- SspiHelper.cs
- XPathAncestorIterator.cs
- StringDictionary.cs
- SqlInternalConnectionSmi.cs
- ToolStripDropDownItem.cs
- SessionStateItemCollection.cs
- ListBoxChrome.cs
- DEREncoding.cs
- ToolboxComponentsCreatingEventArgs.cs
- _LocalDataStoreMgr.cs
- GeometryGroup.cs
- NetStream.cs
- __Error.cs
- ComponentRenameEvent.cs
- VisualTreeUtils.cs
- NetMsmqBinding.cs
- PerfService.cs
- SQLMembershipProvider.cs
- RequestResizeEvent.cs
- DeploymentExceptionMapper.cs
- sqlstateclientmanager.cs
- QilTernary.cs
- TemplateColumn.cs
- PointLightBase.cs
- QueryGeneratorBase.cs
- OracleCommandBuilder.cs
- SpellerInterop.cs
- TemplateControlBuildProvider.cs
- DataPager.cs
- SapiAttributeParser.cs
- SourceFilter.cs
- sqlmetadatafactory.cs
- BitmapEffect.cs
- WinFormsSecurity.cs
- TabControlCancelEvent.cs
- PeerDefaultCustomResolverClient.cs
- InfoCardConstants.cs
- RotateTransform.cs
- StorageEntityContainerMapping.cs
- OpCodes.cs
- DetailsViewDeletedEventArgs.cs
- ParallelTimeline.cs
- ProcessInfo.cs
- HttpFileCollection.cs
- TextViewSelectionProcessor.cs
- OperationAbortedException.cs
- FileSystemInfo.cs
- MenuScrollingVisibilityConverter.cs
- Subtree.cs
- LambdaCompiler.Generated.cs
- ToolboxItemFilterAttribute.cs
- SlipBehavior.cs
- Merger.cs
- AspNetSynchronizationContext.cs
- Pen.cs
- DataTableClearEvent.cs
- DNS.cs
- WebPartHeaderCloseVerb.cs
- MimeParameters.cs