Code:
/ FX-1434 / FX-1434 / 1.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
- CollectionConverter.cs
- Constraint.cs
- SamlNameIdentifierClaimResource.cs
- ContainsRowNumberChecker.cs
- AppDomainManager.cs
- RTLAwareMessageBox.cs
- String.cs
- TabPage.cs
- HtmlTextArea.cs
- ParameterCollection.cs
- WinFormsComponentEditor.cs
- FaultDesigner.cs
- XmlUtil.cs
- DodSequenceMerge.cs
- ValidationRuleCollection.cs
- Html32TextWriter.cs
- RootContext.cs
- ExecutionPropertyManager.cs
- TableStyle.cs
- OciLobLocator.cs
- HierarchicalDataTemplate.cs
- DbUpdateCommandTree.cs
- TypeNameHelper.cs
- ListViewItemEventArgs.cs
- FillRuleValidation.cs
- ChannelSinkStacks.cs
- ClientSideProviderDescription.cs
- Evaluator.cs
- PrinterSettings.cs
- TraceLog.cs
- EasingFunctionBase.cs
- Vector3DConverter.cs
- XmlChildEnumerator.cs
- RelatedImageListAttribute.cs
- UIntPtr.cs
- TransportationConfigurationTypeInstallComponent.cs
- ScriptRef.cs
- EntityDataSourceSelectedEventArgs.cs
- WindowVisualStateTracker.cs
- SmtpReplyReader.cs
- OdbcEnvironment.cs
- FocusWithinProperty.cs
- XmlCompatibilityReader.cs
- ServicePointManagerElement.cs
- Vector3D.cs
- ObjectFactoryCodeDomTreeGenerator.cs
- DataRowCollection.cs
- CodeValidator.cs
- SequenceDesignerAccessibleObject.cs
- DataGridCell.cs
- RelationshipManager.cs
- DataGridToolTip.cs
- MobileTextWriter.cs
- TypeInfo.cs
- BitSet.cs
- XmlnsPrefixAttribute.cs
- HighlightVisual.cs
- ZipIORawDataFileBlock.cs
- DataGridColumnCollectionEditor.cs
- ArgIterator.cs
- BuildProvider.cs
- TransformerConfigurationWizardBase.cs
- ModelPropertyImpl.cs
- DesignerAttribute.cs
- BinaryMessageEncoder.cs
- AnonymousIdentificationSection.cs
- CookielessHelper.cs
- FunctionQuery.cs
- DataSvcMapFileSerializer.cs
- FormsAuthentication.cs
- HierarchicalDataSourceControl.cs
- PriorityChain.cs
- PocoEntityKeyStrategy.cs
- HttpDictionary.cs
- TextWriterEngine.cs
- DBProviderConfigurationHandler.cs
- Stylus.cs
- DesignerLabelAdapter.cs
- XmlDataSource.cs
- Rotation3DAnimationUsingKeyFrames.cs
- GreenMethods.cs
- BitConverter.cs
- StringValueSerializer.cs
- ToolStripItemCollection.cs
- RenderingEventArgs.cs
- SimplePropertyEntry.cs
- WebDescriptionAttribute.cs
- OutputWindow.cs
- RepeatInfo.cs
- StylusDevice.cs
- ObjectRef.cs
- XmlAnyAttributeAttribute.cs
- PropertyEmitter.cs
- UserInitiatedNavigationPermission.cs
- X509ChainElement.cs
- CircleHotSpot.cs
- ItemDragEvent.cs
- Vertex.cs
- EnglishPluralizationService.cs
- ContainerTracking.cs