Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / 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
- DispatchChannelSink.cs
- TypeBrowserDialog.cs
- CornerRadiusConverter.cs
- DataObjectPastingEventArgs.cs
- HttpException.cs
- ModuleBuilderData.cs
- SwitchExpression.cs
- SingleConverter.cs
- SqlRemoveConstantOrderBy.cs
- IisTraceWebEventProvider.cs
- CheckableControlBaseAdapter.cs
- CFStream.cs
- MemoryStream.cs
- DesignerVerb.cs
- DefaultShape.cs
- AsymmetricKeyExchangeDeformatter.cs
- Win32.cs
- SmtpTransport.cs
- CLRBindingWorker.cs
- ReadOnlyDictionary.cs
- HttpCacheVary.cs
- Simplifier.cs
- ConditionalDesigner.cs
- Polygon.cs
- Viewport3DVisual.cs
- SqlTriggerContext.cs
- PolicyUnit.cs
- Token.cs
- TypeHelpers.cs
- DynamicMethod.cs
- DocComment.cs
- PointLightBase.cs
- FieldToken.cs
- DbConnectionOptions.cs
- XmlDataProvider.cs
- CqlGenerator.cs
- AttachmentService.cs
- PreparingEnlistment.cs
- ParameterModifier.cs
- FormViewDeletedEventArgs.cs
- OciHandle.cs
- QilFunction.cs
- OverflowException.cs
- ProvidersHelper.cs
- IResourceProvider.cs
- ResourceExpressionBuilder.cs
- HeaderUtility.cs
- TimeIntervalCollection.cs
- wmiprovider.cs
- WeakReferenceEnumerator.cs
- TaiwanLunisolarCalendar.cs
- FlowchartDesigner.Helpers.cs
- GlyphsSerializer.cs
- LassoSelectionBehavior.cs
- RepeatInfo.cs
- ByteStream.cs
- LineVisual.cs
- NotifyInputEventArgs.cs
- OutputCacheProfile.cs
- InputElement.cs
- WeakReadOnlyCollection.cs
- XmlSchemaDatatype.cs
- CustomCategoryAttribute.cs
- TimeoutValidationAttribute.cs
- SmiMetaDataProperty.cs
- Filter.cs
- AtomMaterializer.cs
- OutputScopeManager.cs
- ConnectionString.cs
- ListItem.cs
- CommandSet.cs
- IssuanceLicense.cs
- PackWebResponse.cs
- AbstractExpressions.cs
- HijriCalendar.cs
- FullTextLine.cs
- PropertyGeneratedEventArgs.cs
- ToolStripStatusLabel.cs
- MutexSecurity.cs
- WebPartDescriptionCollection.cs
- PropertyMapper.cs
- ScriptResourceHandler.cs
- RangeValueProviderWrapper.cs
- DisplayInformation.cs
- SyndicationFeed.cs
- Converter.cs
- MultiDataTrigger.cs
- HashCodeCombiner.cs
- FunctionNode.cs
- messageonlyhwndwrapper.cs
- BitmapFrame.cs
- AttachmentCollection.cs
- XmlIgnoreAttribute.cs
- OracleBinary.cs
- TransformPatternIdentifiers.cs
- WebConfigurationHost.cs
- SapiRecoContext.cs
- CompilerState.cs
- PresentationSource.cs
- PathFigure.cs