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
- RadioButtonPopupAdapter.cs
- _TimerThread.cs
- SimpleMailWebEventProvider.cs
- WS2007HttpBindingCollectionElement.cs
- GeometryGroup.cs
- DropShadowBitmapEffect.cs
- DecimalConstantAttribute.cs
- RowCache.cs
- XPathQilFactory.cs
- XmlConvert.cs
- PublishLicense.cs
- DoubleAnimationClockResource.cs
- xamlnodes.cs
- RuntimeHandles.cs
- NativeMethods.cs
- Conditional.cs
- BaseParser.cs
- WindowInteropHelper.cs
- DataGridViewRowEventArgs.cs
- OleDbCommandBuilder.cs
- CredentialCache.cs
- Rotation3DAnimationBase.cs
- nulltextnavigator.cs
- XmlBinaryReader.cs
- DecodeHelper.cs
- ConfigXmlElement.cs
- CalendarBlackoutDatesCollection.cs
- WindowsFormsSynchronizationContext.cs
- TypePropertyEditor.cs
- AssemblyCollection.cs
- DataBoundControlAdapter.cs
- XmlSignatureProperties.cs
- CultureInfo.cs
- Label.cs
- IntSecurity.cs
- TextBoxBase.cs
- NullRuntimeConfig.cs
- MembershipPasswordException.cs
- SystemUnicastIPAddressInformation.cs
- DATA_BLOB.cs
- TableAutomationPeer.cs
- SecurityTokenResolver.cs
- ScrollEventArgs.cs
- BindableAttribute.cs
- VScrollBar.cs
- SoapCodeExporter.cs
- XmlTextAttribute.cs
- LinqDataSource.cs
- ManipulationLogic.cs
- ExpandCollapseProviderWrapper.cs
- EventLogPermission.cs
- AspNetSynchronizationContext.cs
- ValidatedControlConverter.cs
- SystemIPv6InterfaceProperties.cs
- GenericPrincipal.cs
- WCFBuildProvider.cs
- WebException.cs
- XPathNodeHelper.cs
- DeclaredTypeElement.cs
- MultiAsyncResult.cs
- RequestCachePolicyConverter.cs
- SpStreamWrapper.cs
- ImpersonateTokenRef.cs
- SystemTcpStatistics.cs
- HtmlValidationSummaryAdapter.cs
- XNodeValidator.cs
- JournalNavigationScope.cs
- ConfigurationSettings.cs
- ObjectSecurity.cs
- HybridObjectCache.cs
- CategoryNameCollection.cs
- AuthenticateEventArgs.cs
- SqlStream.cs
- Int16AnimationBase.cs
- DocumentPage.cs
- AnchoredBlock.cs
- SqlFormatter.cs
- ListControlConvertEventArgs.cs
- TextEditorMouse.cs
- PropertyGroupDescription.cs
- SecurityElement.cs
- RijndaelManaged.cs
- DeploymentSectionCache.cs
- Gdiplus.cs
- RegexMatch.cs
- XmlFormatWriterGenerator.cs
- ActiveXContainer.cs
- HandlerFactoryCache.cs
- TypeHelpers.cs
- Trace.cs
- DropDownButton.cs
- Tool.cs
- X509ChainPolicy.cs
- AmbientLight.cs
- CreateDataSourceDialog.cs
- ConnectionPoolManager.cs
- ZipIOLocalFileHeader.cs
- DataTableNameHandler.cs
- RegexBoyerMoore.cs
- CurrentChangedEventManager.cs