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
- DataControlLinkButton.cs
- ScrollableControl.cs
- ValidationResult.cs
- BindingContext.cs
- LockedAssemblyCache.cs
- PageRanges.cs
- OdbcConnectionStringbuilder.cs
- Repeater.cs
- CFGGrammar.cs
- Int32Collection.cs
- DataGridColumnDropSeparator.cs
- SHA1.cs
- SqlReorderer.cs
- TransformedBitmap.cs
- PixelFormats.cs
- DataGridViewColumn.cs
- SoapIgnoreAttribute.cs
- TextBounds.cs
- InputLanguageManager.cs
- Encoding.cs
- CodeVariableDeclarationStatement.cs
- ToolStripInSituService.cs
- SchemaElementLookUpTable.cs
- Point3DValueSerializer.cs
- EpmHelper.cs
- UrlMappingsSection.cs
- SqlProviderServices.cs
- CompModSwitches.cs
- LineProperties.cs
- HandleCollector.cs
- SafeBuffer.cs
- ColorAnimationBase.cs
- SharedUtils.cs
- NeutralResourcesLanguageAttribute.cs
- CodeDomConfigurationHandler.cs
- DragStartedEventArgs.cs
- XmlSchemaElement.cs
- SchemaElementLookUpTable.cs
- FunctionOverloadResolver.cs
- SpecialTypeDataContract.cs
- MD5CryptoServiceProvider.cs
- DesignerEventService.cs
- SerialStream.cs
- ListMarkerSourceInfo.cs
- ToggleProviderWrapper.cs
- PropertyChangedEventArgs.cs
- SoapMessage.cs
- DesignSurfaceEvent.cs
- ResourcesBuildProvider.cs
- XPathMultyIterator.cs
- Helper.cs
- HttpProfileBase.cs
- CheckBoxRenderer.cs
- SqlNodeTypeOperators.cs
- TemplateEditingFrame.cs
- ModelPropertyDescriptor.cs
- SQLGuid.cs
- ManagementPath.cs
- ModelTreeEnumerator.cs
- IResourceProvider.cs
- ZipIOEndOfCentralDirectoryBlock.cs
- CookielessHelper.cs
- RSAPKCS1SignatureDeformatter.cs
- DataGridViewComboBoxColumnDesigner.cs
- CompositeDataBoundControl.cs
- GraphicsContext.cs
- DrawToolTipEventArgs.cs
- PropertyDescriptorComparer.cs
- PipelineModuleStepContainer.cs
- CodeTypeDeclarationCollection.cs
- ApplicationFileParser.cs
- SQLString.cs
- Publisher.cs
- WebPartDisplayModeCancelEventArgs.cs
- HitTestWithGeometryDrawingContextWalker.cs
- PopOutPanel.cs
- SettingsSection.cs
- Int64Storage.cs
- JoinSymbol.cs
- IntellisenseTextBox.cs
- XmlSchemaSimpleContentExtension.cs
- MediaTimeline.cs
- MemberNameValidator.cs
- XmlObjectSerializer.cs
- BamlRecords.cs
- UnionCqlBlock.cs
- SharedUtils.cs
- MobileDeviceCapabilitiesSectionHandler.cs
- CompositionTarget.cs
- EntityModelSchemaGenerator.cs
- AttachedPropertyMethodSelector.cs
- connectionpool.cs
- QilUnary.cs
- xmlfixedPageInfo.cs
- SqlTypesSchemaImporter.cs
- StringAttributeCollection.cs
- IntSecurity.cs
- Brush.cs
- base64Transforms.cs