Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / 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 assert 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 assert 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. // // ==--== // 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 assert 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 assert 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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- DynamicDiscoSearcher.cs
- GenericPrincipal.cs
- LeaseManager.cs
- ValidatingPropertiesEventArgs.cs
- ValidatorCompatibilityHelper.cs
- AppDomainUnloadedException.cs
- ButtonColumn.cs
- WorkflowInstance.cs
- StreamGeometry.cs
- CodeAssignStatement.cs
- ButtonBaseAdapter.cs
- KeyBinding.cs
- XmlSchemas.cs
- ContainsRowNumberChecker.cs
- InvalidOleVariantTypeException.cs
- SimpleType.cs
- XhtmlBasicPanelAdapter.cs
- ResXFileRef.cs
- PageSettings.cs
- PositiveTimeSpanValidatorAttribute.cs
- HostAdapter.cs
- ReadOnlyCollectionBase.cs
- DataAdapter.cs
- FunctionImportMapping.ReturnTypeRenameMapping.cs
- DebugView.cs
- ProgressChangedEventArgs.cs
- LocalTransaction.cs
- NativeMethods.cs
- ResourcesBuildProvider.cs
- PageParserFilter.cs
- SignatureResourcePool.cs
- WorkflowMarkupElementEventArgs.cs
- CapabilitiesUse.cs
- TemplateColumn.cs
- ObjectQuery.cs
- QueueSurrogate.cs
- ZoneIdentityPermission.cs
- BitmapInitialize.cs
- ImageListImage.cs
- LazyTextWriterCreator.cs
- MobilePage.cs
- TextStore.cs
- ToolBar.cs
- BindingExpressionUncommonField.cs
- HostedAspNetEnvironment.cs
- controlskin.cs
- AppSettingsExpressionBuilder.cs
- SerializationEventsCache.cs
- IdentityReference.cs
- LinkGrep.cs
- OleDbMetaDataFactory.cs
- XmlTextEncoder.cs
- CompilerInfo.cs
- SpAudioStreamWrapper.cs
- KeyedHashAlgorithm.cs
- Viewport2DVisual3D.cs
- DbCommandTree.cs
- ObjectDataSourceChooseMethodsPanel.cs
- ListSortDescriptionCollection.cs
- PropagatorResult.cs
- CustomAssemblyResolver.cs
- XmlMemberMapping.cs
- newinstructionaction.cs
- HostedNamedPipeTransportManager.cs
- ElasticEase.cs
- ErrorHandler.cs
- _NegotiateClient.cs
- HtmlTableCellCollection.cs
- SetUserLanguageRequest.cs
- PlainXmlDeserializer.cs
- ComPlusTypeLoader.cs
- TextDecorationUnitValidation.cs
- SequenceNumber.cs
- TraceLog.cs
- ResXResourceSet.cs
- CommandBinding.cs
- DLinqAssociationProvider.cs
- RetriableClipboard.cs
- ValidationError.cs
- SymDocumentType.cs
- WebPartEditVerb.cs
- CachingParameterInspector.cs
- CroppedBitmap.cs
- SRef.cs
- WorkflowApplicationEventArgs.cs
- DataListAutoFormat.cs
- InputLanguageManager.cs
- Point3DValueSerializer.cs
- __TransparentProxy.cs
- XmlSortKey.cs
- DataSourceXmlSerializationAttribute.cs
- OrderByLifter.cs
- dataobject.cs
- DirectionalLight.cs
- FrameworkPropertyMetadata.cs
- MarkupWriter.cs
- ObjectListGeneralPage.cs
- GenericTypeParameterBuilder.cs
- WbemProvider.cs
- CalloutQueueItem.cs