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
- SpotLight.cs
- HtmlInputImage.cs
- DesignerForm.cs
- Size3DConverter.cs
- CodeIdentifier.cs
- ControlAdapter.cs
- EUCJPEncoding.cs
- OperatorExpressions.cs
- ConsoleKeyInfo.cs
- XsdBuildProvider.cs
- ConvertersCollection.cs
- OleDbParameter.cs
- EntityDataSourceMemberPath.cs
- TypeElementCollection.cs
- SerializationException.cs
- ThemeDictionaryExtension.cs
- PolicyStatement.cs
- AttachedPropertyMethodSelector.cs
- WebPartManager.cs
- HttpStreams.cs
- SectionUpdates.cs
- cookiecontainer.cs
- SubclassTypeValidatorAttribute.cs
- Selection.cs
- CanonicalFontFamilyReference.cs
- ContentTextAutomationPeer.cs
- Config.cs
- UnsafePeerToPeerMethods.cs
- ValidationEventArgs.cs
- TableChangeProcessor.cs
- RequestCachePolicy.cs
- SupportingTokenDuplexChannel.cs
- ProfileSection.cs
- ZoneIdentityPermission.cs
- DataColumn.cs
- SafeThemeHandle.cs
- SessionStateSection.cs
- AssociationTypeEmitter.cs
- TextEffect.cs
- Boolean.cs
- FileSystemWatcher.cs
- LoginUtil.cs
- AssemblyResourceLoader.cs
- RecognizedWordUnit.cs
- CommandBindingCollection.cs
- MLangCodePageEncoding.cs
- AnimationClockResource.cs
- RichTextBoxAutomationPeer.cs
- SourceFileBuildProvider.cs
- PatternMatcher.cs
- SqlTypesSchemaImporter.cs
- Pens.cs
- SoapIgnoreAttribute.cs
- AttributeEmitter.cs
- DataContractSet.cs
- TextOptions.cs
- ChildChangedEventArgs.cs
- CodeRegionDirective.cs
- ProviderMetadata.cs
- Aes.cs
- EntityTemplateUserControl.cs
- ReadOnlyMetadataCollection.cs
- ThreadAbortException.cs
- CroppedBitmap.cs
- FolderLevelBuildProvider.cs
- CustomValidator.cs
- DBProviderConfigurationHandler.cs
- SystemMulticastIPAddressInformation.cs
- SmtpLoginAuthenticationModule.cs
- XhtmlBasicLabelAdapter.cs
- GridViewSortEventArgs.cs
- ExpandCollapsePattern.cs
- TextEditorParagraphs.cs
- ObjectHandle.cs
- XdrBuilder.cs
- EventLogEntryCollection.cs
- SqlBulkCopyColumnMappingCollection.cs
- JapaneseCalendar.cs
- QilList.cs
- TypeGeneratedEventArgs.cs
- HttpCachePolicy.cs
- FolderBrowserDialog.cs
- XsltArgumentList.cs
- MissingMemberException.cs
- TableDetailsRow.cs
- SafeNativeMethods.cs
- StringHandle.cs
- Char.cs
- ElementHostAutomationPeer.cs
- CommentEmitter.cs
- ApplicationCommands.cs
- InfiniteIntConverter.cs
- xamlnodes.cs
- VisualBrush.cs
- ListBoxItem.cs
- WS2007FederationHttpBindingElement.cs
- ProxyGenerator.cs
- SqlStatistics.cs
- BitmapEffectGroup.cs
- ErrorRuntimeConfig.cs