Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / wpf / src / BuildTasks / MS / Internal / Shared / SourceFileInfo.cs / 1 / 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
- PriorityQueue.cs
- ImpersonateTokenRef.cs
- ReaderWriterLock.cs
- SubMenuStyleCollection.cs
- Guid.cs
- RegionInfo.cs
- XamlWriter.cs
- BoundField.cs
- TreeNodeBinding.cs
- ToolStripItemDesigner.cs
- RectIndependentAnimationStorage.cs
- MsmqProcessProtocolHandler.cs
- UnsafeNativeMethods.cs
- SoundPlayer.cs
- ParseChildrenAsPropertiesAttribute.cs
- Padding.cs
- TaskFactory.cs
- WebPartActionVerb.cs
- XmlDocument.cs
- AccessDataSourceWizardForm.cs
- DrawingImage.cs
- AttachmentCollection.cs
- AccessDataSource.cs
- WindowsListViewItemStartMenu.cs
- WebPartConnectionsCancelEventArgs.cs
- TextOnlyOutput.cs
- AppDomainAttributes.cs
- SaveFileDialog.cs
- TextDocumentView.cs
- TextDecoration.cs
- SqlVisitor.cs
- SafeCryptHandles.cs
- GridViewDeletedEventArgs.cs
- XmlCustomFormatter.cs
- EdmProviderManifest.cs
- DataGridViewComboBoxCell.cs
- URLString.cs
- SafePointer.cs
- RequestQueue.cs
- OrderingInfo.cs
- SmtpLoginAuthenticationModule.cs
- EntityModelSchemaGenerator.cs
- XmlSerializationGeneratedCode.cs
- CfgSemanticTag.cs
- WorkflowMarkupSerializationException.cs
- CodeTypeReferenceExpression.cs
- GeometryValueSerializer.cs
- PathData.cs
- DbSetClause.cs
- UserPersonalizationStateInfo.cs
- Expression.cs
- TimelineCollection.cs
- DataBindingList.cs
- ImageSource.cs
- XmlDataLoader.cs
- DynamicActivity.cs
- AuthenticationModuleElement.cs
- EventProviderBase.cs
- DeviceContext2.cs
- DataDocumentXPathNavigator.cs
- ContainerParaClient.cs
- SqlInternalConnectionTds.cs
- SlipBehavior.cs
- ObjectSecurity.cs
- httpapplicationstate.cs
- FormsIdentity.cs
- FormatterServicesNoSerializableCheck.cs
- ByValueEqualityComparer.cs
- BrowserDefinitionCollection.cs
- HttpApplicationFactory.cs
- ComponentEditorForm.cs
- LayoutInformation.cs
- MetadataPropertyAttribute.cs
- CopyNodeSetAction.cs
- SystemEvents.cs
- ToolStrip.cs
- ASCIIEncoding.cs
- AttachedPropertyBrowsableForChildrenAttribute.cs
- DbMetaDataCollectionNames.cs
- Transform.cs
- LicFileLicenseProvider.cs
- Query.cs
- ApplicationInfo.cs
- Style.cs
- DisplayClaim.cs
- ElementAction.cs
- RecognizedWordUnit.cs
- PersistChildrenAttribute.cs
- ScriptReferenceBase.cs
- OletxTransactionManager.cs
- RelatedEnd.cs
- DockPatternIdentifiers.cs
- VisualStyleRenderer.cs
- TrackingParameters.cs
- HttpClientCertificate.cs
- InternalsVisibleToAttribute.cs
- TextTreeFixupNode.cs
- _Semaphore.cs
- TextComposition.cs
- ScrollBarAutomationPeer.cs