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
- SubMenuStyle.cs
- RelationshipConverter.cs
- Boolean.cs
- EncryptedXml.cs
- ArcSegment.cs
- ColorConvertedBitmapExtension.cs
- TypeUtil.cs
- XamlWrappingReader.cs
- ParameterToken.cs
- EdmType.cs
- AutomationElement.cs
- XmlLanguage.cs
- XPathDocument.cs
- SiteMapPath.cs
- MenuBase.cs
- DataGridViewSelectedCellCollection.cs
- ModuleConfigurationInfo.cs
- EventListenerClientSide.cs
- XmlSchemaInferenceException.cs
- ExpressionVisitorHelpers.cs
- AccessKeyManager.cs
- TypeConstant.cs
- Deserializer.cs
- RegexCharClass.cs
- DoubleCollectionConverter.cs
- MetadataSerializer.cs
- Function.cs
- OdbcParameterCollection.cs
- SafeNativeMethodsOther.cs
- metadatamappinghashervisitor.cs
- FlowchartSizeFeature.cs
- LinqDataSourceStatusEventArgs.cs
- EndpointAddressMessageFilter.cs
- ServiceMetadataContractBehavior.cs
- RtfToXamlReader.cs
- SchemaType.cs
- PathFigureCollectionConverter.cs
- Timeline.cs
- ByteStreamMessage.cs
- WindowsImpersonationContext.cs
- ValidationEventArgs.cs
- DateTimeParse.cs
- SendKeys.cs
- ThemeDictionaryExtension.cs
- ChangePassword.cs
- WebPartAuthorizationEventArgs.cs
- xml.cs
- IISUnsafeMethods.cs
- AuthenticationModulesSection.cs
- EmissiveMaterial.cs
- ProcessRequestArgs.cs
- PersonalizablePropertyEntry.cs
- PageAdapter.cs
- FormsAuthenticationModule.cs
- CheckBoxList.cs
- ValueChangedEventManager.cs
- FontDialog.cs
- ConnectivityStatus.cs
- filewebrequest.cs
- ExtensionElement.cs
- StaticResourceExtension.cs
- Positioning.cs
- PerspectiveCamera.cs
- WizardSideBarListControlItem.cs
- LockedHandleGlyph.cs
- DiagnosticTrace.cs
- ApplicationInfo.cs
- GridViewUpdatedEventArgs.cs
- DateTimeConstantAttribute.cs
- DataColumnMapping.cs
- UInt16Converter.cs
- DeviceContexts.cs
- KeyEventArgs.cs
- StateBag.cs
- WebPermission.cs
- ProcessManager.cs
- TemplateKey.cs
- GeneralTransformCollection.cs
- ListControl.cs
- BindingSourceDesigner.cs
- ComEventsSink.cs
- CallbackValidatorAttribute.cs
- BufferModesCollection.cs
- CreateUserWizardStep.cs
- SerializationSectionGroup.cs
- Typography.cs
- AutomationPeer.cs
- WebPartCatalogAddVerb.cs
- FlowDocumentReaderAutomationPeer.cs
- PropertyDescriptorGridEntry.cs
- SettingsPropertyNotFoundException.cs
- RowToFieldTransformer.cs
- PathGradientBrush.cs
- TextTreeObjectNode.cs
- PrintingPermission.cs
- JpegBitmapDecoder.cs
- IisTraceListener.cs
- AdditionalEntityFunctions.cs
- EdmScalarPropertyAttribute.cs
- StringStorage.cs