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
- HtmlTableRowCollection.cs
- ResXResourceWriter.cs
- WebMessageBodyStyleHelper.cs
- ClientSideQueueItem.cs
- RelatedView.cs
- ContainerAction.cs
- WindowsScroll.cs
- Perspective.cs
- NotifyParentPropertyAttribute.cs
- WebPartTransformerCollection.cs
- EventArgs.cs
- MsmqTransportSecurityElement.cs
- __ConsoleStream.cs
- MouseDevice.cs
- TextRangeEditLists.cs
- ArrangedElementCollection.cs
- CssTextWriter.cs
- ToolStripItemCollection.cs
- ToolStripGripRenderEventArgs.cs
- QueuePropertyVariants.cs
- X509RecipientCertificateServiceElement.cs
- TemplateColumn.cs
- ConnectivityStatus.cs
- WebPartExportVerb.cs
- HttpApplication.cs
- UrlPath.cs
- HttpClientCertificate.cs
- Html32TextWriter.cs
- ManifestSignatureInformation.cs
- DataTemplateSelector.cs
- DesignerSerializerAttribute.cs
- TempFiles.cs
- TypeSemantics.cs
- XmlSchemaAttributeGroupRef.cs
- SchemaImporterExtensionElement.cs
- XmlNode.cs
- Parameter.cs
- SystemIcmpV4Statistics.cs
- DatePicker.cs
- WebReferenceCollection.cs
- SafeNativeMethods.cs
- ShaperBuffers.cs
- SpellerHighlightLayer.cs
- CanonicalFormWriter.cs
- ColorConverter.cs
- Content.cs
- AnnotationComponentChooser.cs
- DbSourceParameterCollection.cs
- CodeTypeMember.cs
- UInt32Converter.cs
- DataBindingHandlerAttribute.cs
- RealizationContext.cs
- ContextMenu.cs
- DomainConstraint.cs
- PlatformCulture.cs
- ContentElement.cs
- ObjectAnimationUsingKeyFrames.cs
- InplaceBitmapMetadataWriter.cs
- WCFModelStrings.Designer.cs
- CatalogPartChrome.cs
- TemplateControl.cs
- SettingsSavedEventArgs.cs
- EventSetter.cs
- XmlSchemaGroupRef.cs
- ArrayExtension.cs
- DbgCompiler.cs
- LinqMaximalSubtreeNominator.cs
- LambdaCompiler.Binary.cs
- FormViewUpdateEventArgs.cs
- PropertyKey.cs
- PropertyPathConverter.cs
- Matrix.cs
- HotCommands.cs
- XmlSerializerVersionAttribute.cs
- Page.cs
- RadioButtonFlatAdapter.cs
- MediaContextNotificationWindow.cs
- Page.cs
- CodeStatement.cs
- SoapSchemaExporter.cs
- OciHandle.cs
- ActivityPreviewDesigner.cs
- DispatchWrapper.cs
- ExpressionBuilderContext.cs
- AlignmentYValidation.cs
- PathGeometry.cs
- XmlDocumentSerializer.cs
- StorageAssociationTypeMapping.cs
- CookielessHelper.cs
- XmlRootAttribute.cs
- ComponentChangingEvent.cs
- PanelStyle.cs
- CheckedPointers.cs
- ExceptionRoutedEventArgs.cs
- _NetRes.cs
- FilterUserControlBase.cs
- Trace.cs
- ImageConverter.cs
- BamlResourceContent.cs
- Merger.cs