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
- QueueException.cs
- WorkflowRuntimeBehavior.cs
- SafeFileMappingHandle.cs
- TokenBasedSetEnumerator.cs
- EmitterCache.cs
- DiscreteKeyFrames.cs
- HttpProfileGroupBase.cs
- XmlEventCache.cs
- AxisAngleRotation3D.cs
- DataGridViewCellCollection.cs
- UriSection.cs
- ResolveMatchesMessageCD1.cs
- Pool.cs
- UpdateCommand.cs
- TextEndOfParagraph.cs
- VirtualDirectoryMappingCollection.cs
- NonParentingControl.cs
- SettingsPropertyWrongTypeException.cs
- login.cs
- ThreadExceptionEvent.cs
- Latin1Encoding.cs
- HoistedLocals.cs
- TransactionScopeDesigner.cs
- HttpInputStream.cs
- DbMetaDataFactory.cs
- SID.cs
- AggregatePushdown.cs
- InstallHelper.cs
- ModuleBuilderData.cs
- mongolianshape.cs
- TextCollapsingProperties.cs
- PolicyException.cs
- SmiEventSink_DeferedProcessing.cs
- TableDesigner.cs
- ListBox.cs
- CodeVariableDeclarationStatement.cs
- SystemColorTracker.cs
- _SafeNetHandles.cs
- SourceElementsCollection.cs
- InheritanceAttribute.cs
- TwoPhaseCommitProxy.cs
- ChannelProtectionRequirements.cs
- RegexRunner.cs
- MetadataCollection.cs
- ContentType.cs
- ScrollChrome.cs
- ConditionBrowserDialog.cs
- MonthCalendar.cs
- BigInt.cs
- Menu.cs
- Dump.cs
- Deserializer.cs
- DataSysAttribute.cs
- TableLayoutPanelResizeGlyph.cs
- ColorInterpolationModeValidation.cs
- RichTextBoxConstants.cs
- GridView.cs
- FrameAutomationPeer.cs
- ClientBuildManagerCallback.cs
- CodeSnippetTypeMember.cs
- FileFormatException.cs
- OleDbError.cs
- WebConfigurationHost.cs
- DataObjectSettingDataEventArgs.cs
- DLinqAssociationProvider.cs
- ExceptionValidationRule.cs
- SafeMemoryMappedFileHandle.cs
- ToolStripDropDownClosedEventArgs.cs
- RequestCacheValidator.cs
- AlternateViewCollection.cs
- ExceptionUtil.cs
- TemplatePartAttribute.cs
- Propagator.JoinPropagator.cs
- HttpWrapper.cs
- MenuAutomationPeer.cs
- EventLogger.cs
- JsonDeserializer.cs
- AnnotationHighlightLayer.cs
- SoapElementAttribute.cs
- StylusPlugInCollection.cs
- BitmapPalettes.cs
- NavigatingCancelEventArgs.cs
- RecordBuilder.cs
- RegexBoyerMoore.cs
- RoleService.cs
- TextServicesDisplayAttributePropertyRanges.cs
- InputLanguageManager.cs
- TextPenaltyModule.cs
- HtmlProps.cs
- CapabilitiesState.cs
- ToggleButtonAutomationPeer.cs
- OperationAbortedException.cs
- XmlException.cs
- DataBoundControlHelper.cs
- EventProviderClassic.cs
- KeyValueInternalCollection.cs
- SqlRewriteScalarSubqueries.cs
- EmptyStringExpandableObjectConverter.cs
- CalendarKeyboardHelper.cs
- DefaultTextStore.cs