Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / 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
- PathFigureCollectionConverter.cs
- WindowsComboBox.cs
- DiffuseMaterial.cs
- SafeCoTaskMem.cs
- EdgeModeValidation.cs
- QilName.cs
- MulticastOption.cs
- ToolStripManager.cs
- KnownTypesProvider.cs
- IdentifierService.cs
- Image.cs
- SecurityResources.cs
- OletxDependentTransaction.cs
- ObjectQuery_EntitySqlExtensions.cs
- StreamWithDictionary.cs
- KeyValueInternalCollection.cs
- hresults.cs
- FontNamesConverter.cs
- SizeConverter.cs
- PageFunction.cs
- SqlNodeAnnotation.cs
- ListInitExpression.cs
- EditorPartCollection.cs
- WebBrowserUriTypeConverter.cs
- EventInfo.cs
- HtmlValidatorAdapter.cs
- Html32TextWriter.cs
- EntitySetBaseCollection.cs
- PointIndependentAnimationStorage.cs
- _ContextAwareResult.cs
- Vector3DIndependentAnimationStorage.cs
- autovalidator.cs
- PartialClassGenerationTask.cs
- DynamicRendererThreadManager.cs
- UiaCoreTypesApi.cs
- XmlNamespaceMappingCollection.cs
- GenericIdentity.cs
- HtmlDocument.cs
- DictionaryKeyPropertyAttribute.cs
- DefaultBinder.cs
- MenuRendererClassic.cs
- AppModelKnownContentFactory.cs
- SmiRequestExecutor.cs
- UnionCqlBlock.cs
- TrackingServices.cs
- ZipIOCentralDirectoryBlock.cs
- QuaternionAnimationBase.cs
- RawUIStateInputReport.cs
- typedescriptorpermission.cs
- XmlILModule.cs
- SequenceFullException.cs
- LineSegment.cs
- LoginName.cs
- RelatedPropertyManager.cs
- GenericEnumerator.cs
- ColumnMapCopier.cs
- WeakHashtable.cs
- ColorKeyFrameCollection.cs
- GroupByExpressionRewriter.cs
- EtwTrackingBehaviorElement.cs
- CodeDirectoryCompiler.cs
- IssuedTokenParametersEndpointAddressElement.cs
- wgx_sdk_version.cs
- KnownAssemblyEntry.cs
- PackageDigitalSignatureManager.cs
- RelatedImageListAttribute.cs
- GradientStopCollection.cs
- NotifyCollectionChangedEventArgs.cs
- M3DUtil.cs
- ParagraphResult.cs
- XmlAttributeCache.cs
- EventDriven.cs
- TaskFileService.cs
- PrimaryKeyTypeConverter.cs
- InfoCardBaseException.cs
- TreeView.cs
- TagPrefixInfo.cs
- KeyEvent.cs
- AssociatedControlConverter.cs
- SafeNativeMethods.cs
- DebuggerAttributes.cs
- Int32RectValueSerializer.cs
- InheritanceContextChangedEventManager.cs
- dtdvalidator.cs
- Normalization.cs
- HtmlTableCell.cs
- TextEditor.cs
- Char.cs
- RadioButtonList.cs
- HtmlControlPersistable.cs
- DbReferenceCollection.cs
- OrderToken.cs
- TdsParserStateObject.cs
- XmlTextReader.cs
- NativeMethods.cs
- XslVisitor.cs
- XamlVector3DCollectionSerializer.cs
- RoutedUICommand.cs
- Wildcard.cs
- InfiniteTimeSpanConverter.cs