Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / 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 ); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ ///// Gets or sets the compiler's return value. /// ///// 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 ); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007./// Gets or sets the compiler's return value. /// ///
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- TableChangeProcessor.cs
- _HTTPDateParse.cs
- SqlPersonalizationProvider.cs
- AssemblyResourceLoader.cs
- XmlNavigatorStack.cs
- NodeLabelEditEvent.cs
- odbcmetadatacolumnnames.cs
- ExtendedPropertyInfo.cs
- ListenerConnectionDemuxer.cs
- MultiTrigger.cs
- Event.cs
- ProxyWebPart.cs
- TimeEnumHelper.cs
- XmlLanguageConverter.cs
- StateWorkerRequest.cs
- relpropertyhelper.cs
- HtmlTableCellCollection.cs
- DateRangeEvent.cs
- SqlSelectClauseBuilder.cs
- SecurityHelper.cs
- WebResourceAttribute.cs
- DataControlField.cs
- TdsParserStateObject.cs
- HostedAspNetEnvironment.cs
- GeometryModel3D.cs
- DataDocumentXPathNavigator.cs
- SHA384.cs
- CodeTypeConstructor.cs
- QueryGeneratorBase.cs
- QueryCorrelationInitializer.cs
- TextElementCollection.cs
- SqlDesignerDataSourceView.cs
- TreeNodeCollectionEditorDialog.cs
- counter.cs
- ToolStripSplitStackLayout.cs
- MouseButtonEventArgs.cs
- ListViewSortEventArgs.cs
- SignerInfo.cs
- XPathNavigatorKeyComparer.cs
- ToolboxItemWrapper.cs
- StreamReader.cs
- LogSwitch.cs
- ProfilePropertyNameValidator.cs
- StringInfo.cs
- ComponentDispatcher.cs
- newinstructionaction.cs
- WriterOutput.cs
- log.cs
- DataGridLinkButton.cs
- DesignerImageAdapter.cs
- TableLayoutSettingsTypeConverter.cs
- WebPart.cs
- TransactionScopeDesigner.cs
- BindingsCollection.cs
- Invariant.cs
- MediaCommands.cs
- ErrorWebPart.cs
- _NTAuthentication.cs
- CodeDomConfigurationHandler.cs
- SpellerHighlightLayer.cs
- TickBar.cs
- DataContractAttribute.cs
- SQLDouble.cs
- Column.cs
- AmbientLight.cs
- ResourceAttributes.cs
- SqlDataSourceSelectingEventArgs.cs
- UIPropertyMetadata.cs
- DependencyObjectProvider.cs
- GridViewRowPresenter.cs
- CssTextWriter.cs
- ExpressionBindingCollection.cs
- WebEvents.cs
- RSAPKCS1KeyExchangeFormatter.cs
- ParagraphVisual.cs
- TypeUnloadedException.cs
- Ref.cs
- InkSerializer.cs
- TargetPerspective.cs
- FileLogRecordHeader.cs
- Rijndael.cs
- SelfIssuedAuthRSACryptoProvider.cs
- updateconfighost.cs
- InheritablePropertyChangeInfo.cs
- DataTableMappingCollection.cs
- Rotation3DAnimationUsingKeyFrames.cs
- TableCellAutomationPeer.cs
- MapPathBasedVirtualPathProvider.cs
- FixedSOMContainer.cs
- ColorKeyFrameCollection.cs
- OpCodes.cs
- dbdatarecord.cs
- LoginName.cs
- LinqDataSourceUpdateEventArgs.cs
- XXXOnTypeBuilderInstantiation.cs
- XmlnsCache.cs
- SubstitutionDesigner.cs
- CompleteWizardStep.cs
- CodeTypeDeclaration.cs
- FileDialog_Vista_Interop.cs