Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / ndp / fx / src / CompMod / System / CodeDOM / Compiler / CompilerResults.cs / 1 / CompilerResults.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.CodeDom.Compiler { using System; using System.CodeDom; using System.Reflection; using System.Collections; using System.Collections.Specialized; using System.Security; using System.Security.Permissions; using System.Security.Policy; using System.Runtime.Serialization; using System.Runtime.Serialization.Formatters.Binary; using System.IO; ////// [Serializable()] [PermissionSet(SecurityAction.InheritanceDemand, Name="FullTrust")] public class CompilerResults { private CompilerErrorCollection errors = new CompilerErrorCollection(); private StringCollection output = new StringCollection(); private Assembly compiledAssembly; private string pathToAssembly; private int nativeCompilerReturnValue; private TempFileCollection tempFiles; private Evidence evidence; ////// Represents the results /// of compilation from the compiler. /// ////// [PermissionSet(SecurityAction.LinkDemand, Name="FullTrust")] public CompilerResults(TempFileCollection tempFiles) { this.tempFiles = tempFiles; } ////// Initializes a new instance of ////// that uses the specified /// temporary files. /// /// public TempFileCollection TempFiles { [PermissionSet(SecurityAction.LinkDemand, Name="FullTrust")] get { return tempFiles; } [PermissionSet(SecurityAction.LinkDemand, Name="FullTrust")] set { tempFiles = value; } } ////// Gets or sets the temporary files to use. /// ////// public Evidence Evidence { [PermissionSet(SecurityAction.LinkDemand, Name="FullTrust")] get { Evidence e = null; if (evidence != null) e = CloneEvidence(evidence); return e; } [PermissionSet(SecurityAction.LinkDemand, Name="FullTrust")] [SecurityPermissionAttribute( SecurityAction.Demand, ControlEvidence = true )] set { if (value != null) evidence = CloneEvidence(value); else evidence = null; } } ////// Set the evidence for partially trusted scenarios. /// ////// public Assembly CompiledAssembly { [SecurityPermissionAttribute(SecurityAction.Assert, Flags=SecurityPermissionFlag.ControlEvidence)] get { if (compiledAssembly == null && pathToAssembly != null) { AssemblyName assemName = new AssemblyName(); assemName.CodeBase = pathToAssembly; compiledAssembly = Assembly.Load(assemName,evidence); } return compiledAssembly; } [PermissionSet(SecurityAction.LinkDemand, Name="FullTrust")] set { compiledAssembly = value; } } ////// The compiled assembly. /// ////// public CompilerErrorCollection Errors { get { return errors; } } ////// Gets or sets the collection of compiler errors. /// ////// public StringCollection Output { [PermissionSet(SecurityAction.LinkDemand, Name="FullTrust")] get { return output; } } ////// Gets or sets the compiler output messages. /// ////// public string PathToAssembly { [PermissionSet(SecurityAction.LinkDemand, Name="FullTrust")] get { return pathToAssembly; } [PermissionSet(SecurityAction.LinkDemand, Name="FullTrust")] set { pathToAssembly = value; } } ////// Gets or sets the path to the assembly. /// ////// public int NativeCompilerReturnValue { get { return nativeCompilerReturnValue; } [PermissionSet(SecurityAction.LinkDemand, Name="FullTrust")] set { nativeCompilerReturnValue = value; } } internal static Evidence CloneEvidence(Evidence ev) { new PermissionSet( PermissionState.Unrestricted ).Assert(); MemoryStream stream = new MemoryStream(); BinaryFormatter formatter = new BinaryFormatter(); formatter.Serialize( stream, ev ); stream.Position = 0; return (Evidence)formatter.Deserialize( stream ); } } }/// Gets or sets the compiler's return value. /// ///
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- CodeRegionDirective.cs
- XmlSchemaComplexContentExtension.cs
- DataGridPagerStyle.cs
- DataGridViewImageCell.cs
- Model3D.cs
- MachineSettingsSection.cs
- SqlNodeAnnotations.cs
- SerializationObjectManager.cs
- SingleResultAttribute.cs
- OutputCacheSettings.cs
- StringUtil.cs
- CookieHandler.cs
- InkCanvasSelection.cs
- WindowsListViewSubItem.cs
- CharEntityEncoderFallback.cs
- TableFieldsEditor.cs
- TextTabProperties.cs
- Matrix.cs
- XmlSignatureProperties.cs
- SessionPageStatePersister.cs
- DispatcherExceptionFilterEventArgs.cs
- AssemblySettingAttributes.cs
- AudioFormatConverter.cs
- TextRangeProviderWrapper.cs
- DiscriminatorMap.cs
- SqlBuilder.cs
- CharUnicodeInfo.cs
- EnumerableRowCollectionExtensions.cs
- SerializationInfo.cs
- SecurityKeyEntropyMode.cs
- ReflectTypeDescriptionProvider.cs
- WebPartCancelEventArgs.cs
- IdentityHolder.cs
- VirtualDirectoryMapping.cs
- ThrowOnMultipleAssignment.cs
- ObjectPersistData.cs
- ipaddressinformationcollection.cs
- ColumnTypeConverter.cs
- OleDbPropertySetGuid.cs
- InternalConfigEventArgs.cs
- MachineKeyConverter.cs
- ConfigurationSectionGroupCollection.cs
- SqlUdtInfo.cs
- TimeZoneNotFoundException.cs
- WindowsAuthenticationEventArgs.cs
- DeferredReference.cs
- JsonSerializer.cs
- SID.cs
- DataTemplateSelector.cs
- HwndHostAutomationPeer.cs
- MatrixValueSerializer.cs
- Invariant.cs
- DbMetaDataFactory.cs
- ComponentCommands.cs
- DynamicRouteExpression.cs
- SpecialTypeDataContract.cs
- CapabilitiesPattern.cs
- CodeIdentifier.cs
- EntitySqlException.cs
- PartitionerQueryOperator.cs
- MeasureItemEvent.cs
- WorkflowServiceNamespace.cs
- BitFlagsGenerator.cs
- HostingPreferredMapPath.cs
- MenuTracker.cs
- AtomServiceDocumentSerializer.cs
- ThousandthOfEmRealPoints.cs
- ProvideValueServiceProvider.cs
- WCFServiceClientProxyGenerator.cs
- DPCustomTypeDescriptor.cs
- CodeComment.cs
- MetadataArtifactLoaderComposite.cs
- CapabilitiesState.cs
- Utils.cs
- StorageAssociationSetMapping.cs
- XmlKeywords.cs
- AdornedElementPlaceholder.cs
- DateTimeParse.cs
- StyleModeStack.cs
- ApplyTemplatesAction.cs
- GridItemPattern.cs
- BaseTemplateBuildProvider.cs
- TransactedReceiveData.cs
- RecordConverter.cs
- ResourceKey.cs
- DataGridViewComboBoxColumn.cs
- SchemaNamespaceManager.cs
- Mutex.cs
- SerializationAttributes.cs
- WsatServiceCertificate.cs
- IItemProperties.cs
- StronglyTypedResourceBuilder.cs
- ExpressionBindingCollection.cs
- EditorZoneBase.cs
- ListViewPagedDataSource.cs
- ScriptRegistrationManager.cs
- ConfigurationSectionCollection.cs
- TileBrush.cs
- XsltArgumentList.cs
- ObjectTag.cs