Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / 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
- CollaborationHelperFunctions.cs
- Typeface.cs
- Duration.cs
- FormClosingEvent.cs
- WebResponse.cs
- CompiledQueryCacheEntry.cs
- WebServicesDescriptionAttribute.cs
- Graph.cs
- SQLUtility.cs
- ListControlBuilder.cs
- DrawingGroupDrawingContext.cs
- BitmapVisualManager.cs
- HtmlInputCheckBox.cs
- InfoCardAsymmetricCrypto.cs
- DictionaryEntry.cs
- XmlSchemas.cs
- Utils.cs
- OdbcUtils.cs
- DetailsViewUpdateEventArgs.cs
- ISAPIRuntime.cs
- CompositionCommandSet.cs
- DbConnectionFactory.cs
- ValuePattern.cs
- TextFormattingConverter.cs
- DelegateArgumentReference.cs
- AbandonedMutexException.cs
- PenContext.cs
- ExceptionValidationRule.cs
- DataGridViewBindingCompleteEventArgs.cs
- HtmlEmptyTagControlBuilder.cs
- AudioFormatConverter.cs
- TextTreeTextNode.cs
- WpfXamlMember.cs
- ResolveNameEventArgs.cs
- StorageScalarPropertyMapping.cs
- AQNBuilder.cs
- PointHitTestResult.cs
- CachedPathData.cs
- ApplicationManager.cs
- Panel.cs
- SerializationInfo.cs
- AllMembershipCondition.cs
- Hash.cs
- InputScopeManager.cs
- COAUTHIDENTITY.cs
- CustomMenuItemCollection.cs
- IndicFontClient.cs
- SmiEventSink.cs
- AnnotationHighlightLayer.cs
- CookieHandler.cs
- PasswordDeriveBytes.cs
- ReceiveMessageRecord.cs
- LongValidatorAttribute.cs
- JobDuplex.cs
- ScriptResourceMapping.cs
- ClientScriptManager.cs
- XmlComplianceUtil.cs
- LookupBindingPropertiesAttribute.cs
- ThumbAutomationPeer.cs
- QuotedPairReader.cs
- FlowDocumentReader.cs
- RecognizerBase.cs
- TogglePattern.cs
- SpanIndex.cs
- TreeViewDesigner.cs
- XmlReflectionMember.cs
- WebPartConnectionsEventArgs.cs
- SHA1Managed.cs
- ContentDisposition.cs
- HttpCacheVary.cs
- SystemColors.cs
- HwndHostAutomationPeer.cs
- LoadGrammarCompletedEventArgs.cs
- WebPartDisplayModeCancelEventArgs.cs
- RepeaterDataBoundAdapter.cs
- PeerValidationBehavior.cs
- LifetimeManager.cs
- DesignBindingPropertyDescriptor.cs
- XmlRootAttribute.cs
- DataSourceConverter.cs
- TargetControlTypeAttribute.cs
- CommandValueSerializer.cs
- BamlResourceSerializer.cs
- CodeDomDesignerLoader.cs
- SR.cs
- BaseValidatorDesigner.cs
- HttpApplicationFactory.cs
- FacetValues.cs
- Membership.cs
- SystemEvents.cs
- CallSite.cs
- SQLDouble.cs
- DataRowChangeEvent.cs
- AutoScrollHelper.cs
- DbProviderFactories.cs
- MetadataProperty.cs
- ValidationHelper.cs
- ComponentCollection.cs
- AutomationProperties.cs
- CellIdBoolean.cs