Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / BuildTasks / MS / Internal / Shared / SourceFileInfo.cs / 1305600 / SourceFileInfo.cs
//---------------------------------------------------------------------------- // // File: SourceFileInfo.cs // // Description: // an internal class that keeps the related information for a source file. // Such as the relative path, source directory, Link path and // file stream etc. // // This can be shared by different build tasks. // // History: // 01/10/2007: weibz Created // // Copyright (C) 2007 by Microsoft Corporation. All rights reserved. // //--------------------------------------------------------------------------- using System; using System.Security.Permissions; using System.IO; namespace MS.Internal { #region SourceFileInfo //// SourceFileInfo class // internal class SourceFileInfo { #region Constructor //// Constructor // internal SourceFileInfo(string filePath) { _filePath = filePath; _sourcePath = null; _relativeSourceFilePath = null; _stream = null; _isXamlFile = false; if (!string.IsNullOrEmpty(filePath) && filePath.ToUpperInvariant().EndsWith(XAML, StringComparison.Ordinal)) { _isXamlFile = true; } } #endregion Constructor #region Properties // // The original file Path // internal string OriginalFilePath { get { return _filePath; } } // // The new Source Directory for this filepath // // If the file is under the project root, this is the project root directory, // otherwise, this is the directory of the file. // internal string SourcePath { get { return _sourcePath; } set { _sourcePath = value; } } // // The new relative path which is relative to the SourcePath. // // If it is XamlFile, the RelativeSourceFilePath would not include the .xaml extension. // internal string RelativeSourceFilePath { get { return _relativeSourceFilePath; } set { _relativeSourceFilePath = value; } } // // Indicate if the source file is a xaml file or not. // internal bool IsXamlFile { get { return _isXamlFile; } } // // Stream of the file // internal Stream Stream { get { // // If the stream is not set for the file, get it from file system in Disk. // if ( _stream == null) { _stream = File.OpenRead(_filePath); } return _stream; } set { _stream = value; } } #endregion Properties #region internal methods // // Close the stream. // internal void CloseStream() { if (_stream != null) { _stream.Close(); _stream = null; } } #endregion #region Private Data private string _filePath; private string _sourcePath; private string _relativeSourceFilePath; private Stream _stream; private bool _isXamlFile; private const string XAML = ".XAML"; #endregion Private Data } #endregion SourceFileInfo } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved. //---------------------------------------------------------------------------- // // File: SourceFileInfo.cs // // Description: // an internal class that keeps the related information for a source file. // Such as the relative path, source directory, Link path and // file stream etc. // // This can be shared by different build tasks. // // History: // 01/10/2007: weibz Created // // Copyright (C) 2007 by Microsoft Corporation. All rights reserved. // //--------------------------------------------------------------------------- using System; using System.Security.Permissions; using System.IO; namespace MS.Internal { #region SourceFileInfo //// SourceFileInfo class // internal class SourceFileInfo { #region Constructor //// Constructor // internal SourceFileInfo(string filePath) { _filePath = filePath; _sourcePath = null; _relativeSourceFilePath = null; _stream = null; _isXamlFile = false; if (!string.IsNullOrEmpty(filePath) && filePath.ToUpperInvariant().EndsWith(XAML, StringComparison.Ordinal)) { _isXamlFile = true; } } #endregion Constructor #region Properties // // The original file Path // internal string OriginalFilePath { get { return _filePath; } } // // The new Source Directory for this filepath // // If the file is under the project root, this is the project root directory, // otherwise, this is the directory of the file. // internal string SourcePath { get { return _sourcePath; } set { _sourcePath = value; } } // // The new relative path which is relative to the SourcePath. // // If it is XamlFile, the RelativeSourceFilePath would not include the .xaml extension. // internal string RelativeSourceFilePath { get { return _relativeSourceFilePath; } set { _relativeSourceFilePath = value; } } // // Indicate if the source file is a xaml file or not. // internal bool IsXamlFile { get { return _isXamlFile; } } // // Stream of the file // internal Stream Stream { get { // // If the stream is not set for the file, get it from file system in Disk. // if ( _stream == null) { _stream = File.OpenRead(_filePath); } return _stream; } set { _stream = value; } } #endregion Properties #region internal methods // // Close the stream. // internal void CloseStream() { if (_stream != null) { _stream.Close(); _stream = null; } } #endregion #region Private Data private string _filePath; private string _sourcePath; private string _relativeSourceFilePath; private Stream _stream; private bool _isXamlFile; private const string XAML = ".XAML"; #endregion Private Data } #endregion SourceFileInfo } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- QueryReaderSettings.cs
- FixedElement.cs
- StringInfo.cs
- BoolExpr.cs
- VectorAnimation.cs
- DesignerVerbCollection.cs
- XmlSchemaAttributeGroupRef.cs
- DigitShape.cs
- TextDocumentView.cs
- BasicHttpMessageSecurity.cs
- PropertyInfo.cs
- SafeEventLogWriteHandle.cs
- DataGridViewComboBoxCell.cs
- StrokeNodeOperations2.cs
- EntityContainerRelationshipSetEnd.cs
- SQLGuidStorage.cs
- Guid.cs
- NetCodeGroup.cs
- Oid.cs
- RuntimeConfig.cs
- ValidationPropertyAttribute.cs
- TextParagraphProperties.cs
- Predicate.cs
- BaseProcessor.cs
- CopyCodeAction.cs
- DispatcherExceptionFilterEventArgs.cs
- SubstitutionResponseElement.cs
- QueueAccessMode.cs
- RenderCapability.cs
- EditorPartCollection.cs
- DbProviderConfigurationHandler.cs
- SmiTypedGetterSetter.cs
- AdRotatorDesigner.cs
- SafeNativeMethods.cs
- CellIdBoolean.cs
- AsyncDataRequest.cs
- ToolboxDataAttribute.cs
- EntityContainer.cs
- OledbConnectionStringbuilder.cs
- TextEncodedRawTextWriter.cs
- StatusBarItem.cs
- _ListenerResponseStream.cs
- ManagementDateTime.cs
- ActiveXContainer.cs
- CellQuery.cs
- RouteItem.cs
- HWStack.cs
- RequestTimeoutManager.cs
- VersionPair.cs
- WebDisplayNameAttribute.cs
- AutomationElementCollection.cs
- CollectionViewGroupRoot.cs
- NotificationContext.cs
- SeparatorAutomationPeer.cs
- RawAppCommandInputReport.cs
- PreProcessInputEventArgs.cs
- RuntimeComponentFilter.cs
- PageCodeDomTreeGenerator.cs
- LateBoundBitmapDecoder.cs
- DecimalConverter.cs
- ItemList.cs
- ProxyFragment.cs
- LineServicesCallbacks.cs
- ScriptingWebServicesSectionGroup.cs
- StreamReader.cs
- WebZone.cs
- CellParaClient.cs
- SqlDataSource.cs
- TraceListener.cs
- ValidationContext.cs
- DataRelationCollection.cs
- DesignSurfaceServiceContainer.cs
- SchemaNamespaceManager.cs
- Descriptor.cs
- PropertyChangingEventArgs.cs
- CellCreator.cs
- HwndAppCommandInputProvider.cs
- FileDialog_Vista.cs
- SqlProviderManifest.cs
- CodeAttributeArgument.cs
- _KerberosClient.cs
- DetailsViewRow.cs
- UidManager.cs
- DecimalKeyFrameCollection.cs
- StateDesigner.TransitionInfo.cs
- _ChunkParse.cs
- DbgUtil.cs
- DataGridViewRowConverter.cs
- PartialToken.cs
- UnsafeNativeMethods.cs
- SyntaxCheck.cs
- DrawListViewItemEventArgs.cs
- TagPrefixCollection.cs
- X509LogoTypeExtension.cs
- PrintDialog.cs
- IISMapPath.cs
- CodeArrayCreateExpression.cs
- RequestBringIntoViewEventArgs.cs
- XmlNamespaceDeclarationsAttribute.cs
- DbConnectionClosed.cs