Code:
/ FXUpdate3074 / FXUpdate3074 / 1.1 / untmp / whidbey / QFE / ndp / clr / src / BCL / System / Security / Policy / ApplicationDirectory.cs / 1 / ApplicationDirectory.cs
// ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== // ApplicationDirectory.cs // // ApplicationDirectory is an evidence type representing the directory the assembly // was loaded from. // namespace System.Security.Policy { using System; using System.IO; using System.Security.Util; using System.Collections; [Serializable] [System.Runtime.InteropServices.ComVisible(true)] sealed public class ApplicationDirectory : IBuiltInEvidence { private URLString m_appDirectory; internal ApplicationDirectory() { m_appDirectory = null; } public ApplicationDirectory( String name ) { if (name == null) throw new ArgumentNullException( "name" ); m_appDirectory = new URLString( name ); } public String Directory { get { return m_appDirectory.ToString(); } } public override bool Equals(Object o) { if (o == null) return false; if (o is ApplicationDirectory) { ApplicationDirectory appDir = (ApplicationDirectory) o; if (this.m_appDirectory == null) { return appDir.m_appDirectory == null; } else if (appDir.m_appDirectory == null) { return false; } else { return this.m_appDirectory.IsSubsetOf( appDir.m_appDirectory ) && appDir.m_appDirectory.IsSubsetOf( this.m_appDirectory ); } } return false; } public override int GetHashCode() { return this.Directory.GetHashCode(); } public Object Copy() { ApplicationDirectory appDir = new ApplicationDirectory(); appDir.m_appDirectory = this.m_appDirectory; return appDir; } internal SecurityElement ToXml() { SecurityElement root = new SecurityElement( "System.Security.Policy.ApplicationDirectory" ); // If you hit this assertt then most likely you are trying to change the name of this class. // This is ok as long as you change the hard coded string above and change the assertt below. BCLDebug.Assert( this.GetType().FullName.Equals( "System.Security.Policy.ApplicationDirectory" ), "Class name changed!" ); root.AddAttribute( "version", "1" ); if (m_appDirectory != null) root.AddChild( new SecurityElement( "Directory", m_appDirectory.ToString() ) ); return root; } ///int IBuiltInEvidence.OutputToBuffer( char[] buffer, int position, bool verbose ) { buffer[position++] = BuiltInEvidenceHelper.idApplicationDirectory; String directory = this.Directory; int length = directory.Length; if (verbose) { BuiltInEvidenceHelper.CopyIntToCharArray(length, buffer, position); position += 2; } directory.CopyTo( 0, buffer, position, length ); return length + position; } /// int IBuiltInEvidence.InitFromBuffer( char[] buffer, int position) { int length = BuiltInEvidenceHelper.GetIntFromCharArray(buffer, position); position += 2; m_appDirectory = new URLString( new String(buffer, position, length )); return position + length; } /// int IBuiltInEvidence.GetRequiredSize(bool verbose) { if (verbose) return this.Directory.Length + 3; // Directory + identifier + length else return this.Directory.Length + 1; // Directory + identifier } public override String ToString() { return ToXml().ToString(); } } } // 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
- TagNameToTypeMapper.cs
- DelegatingMessage.cs
- PaginationProgressEventArgs.cs
- TabItem.cs
- CodeConstructor.cs
- EntityDataSourceEntitySetNameItem.cs
- ZipFileInfoCollection.cs
- ManualWorkflowSchedulerService.cs
- ITreeGenerator.cs
- BindingCompleteEventArgs.cs
- TextServicesCompartmentEventSink.cs
- TextRunCache.cs
- ReadOnlyHierarchicalDataSourceView.cs
- _NegotiateClient.cs
- RotationValidation.cs
- TableLayoutPanelCellPosition.cs
- DependencyObjectType.cs
- ObjectConverter.cs
- GeometryCollection.cs
- _NtlmClient.cs
- StringUtil.cs
- DataServiceEntityAttribute.cs
- FixedSOMTableRow.cs
- GridItem.cs
- RSAPKCS1KeyExchangeFormatter.cs
- AsnEncodedData.cs
- TemplateLookupAction.cs
- ParamArrayAttribute.cs
- TypeTypeConverter.cs
- PartialList.cs
- MouseButton.cs
- MetafileHeader.cs
- _BaseOverlappedAsyncResult.cs
- InstallerTypeAttribute.cs
- HtmlSelect.cs
- TextSchema.cs
- SafeThemeHandle.cs
- ProcessThreadCollection.cs
- GridViewColumn.cs
- SelectionList.cs
- GenericEnumConverter.cs
- Set.cs
- NativeActivityContext.cs
- InlineUIContainer.cs
- IntSecurity.cs
- GAC.cs
- DataGridGeneralPage.cs
- TemplateParser.cs
- DbResourceAllocator.cs
- CheckBox.cs
- Thumb.cs
- PagePropertiesChangingEventArgs.cs
- ObjectDataSourceFilteringEventArgs.cs
- Model3DCollection.cs
- BitmapCodecInfoInternal.cs
- FreezableDefaultValueFactory.cs
- SemanticAnalyzer.cs
- ZipIOZip64EndOfCentralDirectoryBlock.cs
- DocumentViewerAutomationPeer.cs
- VirtualDirectoryMappingCollection.cs
- ParameterCollection.cs
- BooleanFunctions.cs
- CodeTypeMember.cs
- PrintPreviewDialog.cs
- AdCreatedEventArgs.cs
- oledbmetadatacolumnnames.cs
- InternalDispatchObject.cs
- ArrangedElement.cs
- DataShape.cs
- DataGridViewCellCancelEventArgs.cs
- StorageInfo.cs
- Adorner.cs
- ComponentChangingEvent.cs
- CalendarSelectionChangedEventArgs.cs
- mediaeventshelper.cs
- CompositeScriptReferenceEventArgs.cs
- DeflateEmulationStream.cs
- DrawListViewColumnHeaderEventArgs.cs
- AuthenticationModuleElement.cs
- FlowDocumentReaderAutomationPeer.cs
- XmlUTF8TextWriter.cs
- PropertyChangeTracker.cs
- TimeSpanValidatorAttribute.cs
- ToolStripSplitStackLayout.cs
- RetrieveVirtualItemEventArgs.cs
- PerfCounterSection.cs
- CalendarDataBindingHandler.cs
- CodeStatement.cs
- DataDesignUtil.cs
- AutomationElementCollection.cs
- Accessors.cs
- SecurityUniqueId.cs
- ToolStripMenuItem.cs
- GuidConverter.cs
- InkCollectionBehavior.cs
- DataGridAddNewRow.cs
- TreeBuilderXamlTranslator.cs
- XmlNavigatorStack.cs
- UserControlAutomationPeer.cs
- CheckBoxList.cs