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
- SaveFileDialog.cs
- TraceLog.cs
- AttachedAnnotationChangedEventArgs.cs
- WindowsToolbarItemAsMenuItem.cs
- ResourcePool.cs
- PageContentCollection.cs
- TemplateEditingVerb.cs
- ResourceReferenceKeyNotFoundException.cs
- DetailsViewInsertedEventArgs.cs
- Matrix3DStack.cs
- LoadWorkflowAsyncResult.cs
- SystemMulticastIPAddressInformation.cs
- ChannelBuilder.cs
- TypeDescriptionProvider.cs
- XLinq.cs
- BinaryExpression.cs
- StateDesigner.LayoutSelectionGlyph.cs
- OpenTypeLayoutCache.cs
- RuleAction.cs
- TreeWalker.cs
- XmlText.cs
- CompilerErrorCollection.cs
- BamlLocalizerErrorNotifyEventArgs.cs
- WorkflowInvoker.cs
- PointAnimationUsingPath.cs
- DataGridViewBindingCompleteEventArgs.cs
- SqlUdtInfo.cs
- AnimatedTypeHelpers.cs
- PropertyGeneratedEventArgs.cs
- TextBox.cs
- ResourceContainer.cs
- ServiceBusyException.cs
- SecurityContext.cs
- ConfigurationLockCollection.cs
- SamlDoNotCacheCondition.cs
- HostUtils.cs
- ColorInterpolationModeValidation.cs
- TraceListeners.cs
- ProbeRequestResponseAsyncResult.cs
- ZipFileInfoCollection.cs
- EmissiveMaterial.cs
- PinnedBufferMemoryStream.cs
- TokenBasedSet.cs
- StyleConverter.cs
- SpellerStatusTable.cs
- TargetParameterCountException.cs
- NativeCompoundFileAPIs.cs
- SizeFConverter.cs
- QueryOutputWriterV1.cs
- WindowsFormsSectionHandler.cs
- DoubleSumAggregationOperator.cs
- SpecularMaterial.cs
- SkewTransform.cs
- XmlQuerySequence.cs
- UnSafeCharBuffer.cs
- EntityViewGenerator.cs
- ContractReference.cs
- HtmlShim.cs
- HtmlImageAdapter.cs
- ServiceNameElement.cs
- ConfigurationStrings.cs
- XmlSchemaType.cs
- Normalizer.cs
- CommandPlan.cs
- WebPartCatalogCloseVerb.cs
- SingleBodyParameterMessageFormatter.cs
- MergePropertyDescriptor.cs
- AssemblyBuilderData.cs
- ValidationRuleCollection.cs
- ProvidersHelper.cs
- CrossAppDomainChannel.cs
- ContainerUtilities.cs
- ElementHost.cs
- DataTableNewRowEvent.cs
- TextRangeAdaptor.cs
- WebPartConnectionsEventArgs.cs
- Parameter.cs
- CngKeyBlobFormat.cs
- FontEmbeddingManager.cs
- Point3DConverter.cs
- XmlDeclaration.cs
- LinqDataSourceHelper.cs
- RepeatInfo.cs
- VisualBrush.cs
- EventProviderWriter.cs
- recordstate.cs
- ExtendedProperty.cs
- DirectoryInfo.cs
- FrameworkTemplate.cs
- DbBuffer.cs
- SHA1.cs
- TextProperties.cs
- LinkLabelLinkClickedEvent.cs
- Setter.cs
- __Filters.cs
- SmiEventStream.cs
- SchemeSettingElementCollection.cs
- XamlPoint3DCollectionSerializer.cs
- PagedControl.cs
- ContainerVisual.cs