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
- SmtpCommands.cs
- sqlcontext.cs
- GridSplitter.cs
- Pen.cs
- X509ServiceCertificateAuthentication.cs
- WindowsContainer.cs
- DbConnectionFactory.cs
- XmlILAnnotation.cs
- Symbol.cs
- DeferredTextReference.cs
- NavigationProperty.cs
- SqlPersonalizationProvider.cs
- ConnectionsZoneAutoFormat.cs
- ColumnWidthChangedEvent.cs
- GraphicsContainer.cs
- ListViewGroup.cs
- Rotation3DKeyFrameCollection.cs
- XXXOnTypeBuilderInstantiation.cs
- ColorAnimationUsingKeyFrames.cs
- Emitter.cs
- ComplexObject.cs
- PersianCalendar.cs
- XmlDataImplementation.cs
- GridPatternIdentifiers.cs
- CrossSiteScriptingValidation.cs
- DefaultClaimSet.cs
- MonthChangedEventArgs.cs
- LoadedOrUnloadedOperation.cs
- TextWriter.cs
- ToolStripOverflowButton.cs
- OpacityConverter.cs
- OrderPreservingPipeliningSpoolingTask.cs
- EdmFunctions.cs
- SQLBoolean.cs
- FileLogRecordStream.cs
- XmlTextEncoder.cs
- safex509handles.cs
- QilLoop.cs
- SqlGatherProducedAliases.cs
- PropertyRef.cs
- QilBinary.cs
- ModuleConfigurationInfo.cs
- ExpressionList.cs
- CellTreeNode.cs
- XmlSchemaCompilationSettings.cs
- SqlFunctionAttribute.cs
- OperatorExpressions.cs
- ScriptControlManager.cs
- DetailsViewCommandEventArgs.cs
- AlphaSortedEnumConverter.cs
- SortAction.cs
- QueryCorrelationInitializer.cs
- HttpCacheVary.cs
- ErrorEventArgs.cs
- XmlResolver.cs
- PathFigure.cs
- X500Name.cs
- DiscoveryOperationContext.cs
- MessageSmuggler.cs
- XmlTextAttribute.cs
- AssemblyResourceLoader.cs
- SByte.cs
- SmtpAuthenticationManager.cs
- SrgsSemanticInterpretationTag.cs
- NotifyParentPropertyAttribute.cs
- CounterCreationDataCollection.cs
- TraceData.cs
- CacheRequest.cs
- XamlBrushSerializer.cs
- StorageFunctionMapping.cs
- ProfileSettings.cs
- ReadOnlyState.cs
- DrawingVisualDrawingContext.cs
- ClientUtils.cs
- _IPv4Address.cs
- AvTraceFormat.cs
- InstanceDataCollectionCollection.cs
- QilParameter.cs
- Parser.cs
- ComponentResourceKey.cs
- XsdCachingReader.cs
- MenuScrollingVisibilityConverter.cs
- PointAnimationClockResource.cs
- CacheForPrimitiveTypes.cs
- ScriptResourceInfo.cs
- ListDictionaryInternal.cs
- WebZone.cs
- TCPListener.cs
- Mappings.cs
- ClonableStack.cs
- RestHandler.cs
- ChannelManager.cs
- XhtmlMobileTextWriter.cs
- SmiGettersStream.cs
- TypeUnloadedException.cs
- TypedElement.cs
- WaitHandleCannotBeOpenedException.cs
- XmlSiteMapProvider.cs
- ConstructorExpr.cs
- MediaContextNotificationWindow.cs