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
- DbgUtil.cs
- UnsafeNativeMethods.cs
- SafeArchiveContext.cs
- EventSetter.cs
- PropertyEmitterBase.cs
- SerializationSectionGroup.cs
- SimpleHandlerBuildProvider.cs
- CodeExpressionCollection.cs
- StaticContext.cs
- PenLineCapValidation.cs
- TraceEventCache.cs
- QilInvokeEarlyBound.cs
- Hex.cs
- StringHelper.cs
- PEFileEvidenceFactory.cs
- TemplatePropertyEntry.cs
- MLangCodePageEncoding.cs
- CodeValidator.cs
- GetRecipientListRequest.cs
- CrossSiteScriptingValidation.cs
- ContentDisposition.cs
- XmlSchemaException.cs
- UnsafeNativeMethods.cs
- AdjustableArrowCap.cs
- LinqDataSourceInsertEventArgs.cs
- DataGridViewRowPrePaintEventArgs.cs
- MouseButton.cs
- MemberJoinTreeNode.cs
- WindowsProgressbar.cs
- LinearGradientBrush.cs
- CodeComment.cs
- ParallelDesigner.cs
- CompositeDispatchFormatter.cs
- BitmapMetadata.cs
- PrinterResolution.cs
- TextDpi.cs
- BitmapEffectInputConnector.cs
- RootBrowserWindowProxy.cs
- CoTaskMemHandle.cs
- AsyncCompletedEventArgs.cs
- TrustSection.cs
- HyperLinkColumn.cs
- StatusStrip.cs
- PrintPreviewDialog.cs
- MenuItemStyleCollection.cs
- GridViewCancelEditEventArgs.cs
- SelectedGridItemChangedEvent.cs
- CompilerGeneratedAttribute.cs
- MultipartContentParser.cs
- DataShape.cs
- XsltConvert.cs
- PrintPageEvent.cs
- DbReferenceCollection.cs
- HttpResponseInternalWrapper.cs
- ProfilePropertySettings.cs
- XsdBuildProvider.cs
- ObjectDataSourceWizardForm.cs
- TableLayoutRowStyleCollection.cs
- Enlistment.cs
- TextSpanModifier.cs
- WindowsListViewGroup.cs
- CodeIdentifiers.cs
- StreamSecurityUpgradeProvider.cs
- FixedDocumentSequencePaginator.cs
- ExpressionEditorAttribute.cs
- DownloadProgressEventArgs.cs
- querybuilder.cs
- LogEntry.cs
- ObjectDataProvider.cs
- CodeMethodInvokeExpression.cs
- OracleLob.cs
- ConfigurationValue.cs
- Message.cs
- ReadOnlyCollection.cs
- ReadOnlyAttribute.cs
- XmlBinaryWriterSession.cs
- FileIOPermission.cs
- NTAccount.cs
- VariableAction.cs
- PropertyDescriptorGridEntry.cs
- StyleCollection.cs
- TypeFieldSchema.cs
- SvcMapFileLoader.cs
- XmlBufferReader.cs
- InstanceKeyView.cs
- NGCSerializer.cs
- DataSetMappper.cs
- ImageSourceConverter.cs
- XmlDocumentSerializer.cs
- WinFormsSecurity.cs
- __Filters.cs
- WindowsAltTab.cs
- EntitySetBase.cs
- StyleXamlParser.cs
- ApplicationSecurityManager.cs
- SynchronizedDispatch.cs
- XmlSchemaProviderAttribute.cs
- DiscoveryVersion.cs
- RegexNode.cs
- translator.cs