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
- StorageTypeMapping.cs
- ThicknessAnimation.cs
- NullableDoubleMinMaxAggregationOperator.cs
- MailBnfHelper.cs
- XsdBuilder.cs
- DbResourceAllocator.cs
- RemoteHelper.cs
- EventEntry.cs
- controlskin.cs
- ReadWriteObjectLock.cs
- dataSvcMapFileLoader.cs
- ChannelToken.cs
- path.cs
- BrowserCapabilitiesFactory.cs
- COAUTHIDENTITY.cs
- ObjectQueryState.cs
- BStrWrapper.cs
- LinqDataSourceEditData.cs
- VirtualizedCellInfoCollection.cs
- Renderer.cs
- DocumentApplication.cs
- ParameterModifier.cs
- LabelInfo.cs
- ResXResourceReader.cs
- CookieProtection.cs
- TableDesigner.cs
- CompilerInfo.cs
- RemotingService.cs
- MaterialGroup.cs
- IPPacketInformation.cs
- DefaultAutoFieldGenerator.cs
- CompModSwitches.cs
- Schema.cs
- WebBrowserUriTypeConverter.cs
- DbConvert.cs
- PackWebRequest.cs
- WsdlImporterElementCollection.cs
- DataSourceCacheDurationConverter.cs
- FileDialog.cs
- StreamResourceInfo.cs
- EmptyQuery.cs
- RoleManagerModule.cs
- FunctionQuery.cs
- AesManaged.cs
- TextTreeTextElementNode.cs
- TCPClient.cs
- PolicyManager.cs
- X509Chain.cs
- CommonRemoteMemoryBlock.cs
- ListChangedEventArgs.cs
- TimeSpanStorage.cs
- TimeManager.cs
- GCHandleCookieTable.cs
- XamlClipboardData.cs
- OleDbPropertySetGuid.cs
- DocumentViewerBase.cs
- ClientSponsor.cs
- SyndicationSerializer.cs
- Site.cs
- DaylightTime.cs
- DataBindingList.cs
- DataGridAutoFormat.cs
- HideDisabledControlAdapter.cs
- recordstatefactory.cs
- XmlQueryType.cs
- SchemaSetCompiler.cs
- X509IssuerSerialKeyIdentifierClause.cs
- DecimalConstantAttribute.cs
- DateTime.cs
- TemplateControl.cs
- NameValueConfigurationCollection.cs
- XmlArrayAttribute.cs
- DiscoveryEndpoint.cs
- PlanCompilerUtil.cs
- BufferedStream.cs
- TemplateComponentConnector.cs
- FixedSOMTableRow.cs
- httpserverutility.cs
- DataGridViewAutoSizeColumnsModeEventArgs.cs
- XsdBuilder.cs
- SingleAnimationBase.cs
- OuterGlowBitmapEffect.cs
- MenuCommands.cs
- RecordManager.cs
- SubclassTypeValidator.cs
- SelectionProcessor.cs
- ToolStripDropDownClosingEventArgs.cs
- WebHeaderCollection.cs
- MetadataItem.cs
- XmlNodeChangedEventManager.cs
- XamlReader.cs
- EndEvent.cs
- DeploymentExceptionMapper.cs
- PageParser.cs
- FrameSecurityDescriptor.cs
- SelectedDatesCollection.cs
- PackagePartCollection.cs
- FileDetails.cs
- InstalledFontCollection.cs
- CaseInsensitiveHashCodeProvider.cs