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
- DisposableCollectionWrapper.cs
- BindToObject.cs
- StyleXamlTreeBuilder.cs
- IdentifierService.cs
- DefaultEventAttribute.cs
- WindowsTokenRoleProvider.cs
- Filter.cs
- AuthenticationException.cs
- RunClient.cs
- HtmlHead.cs
- VersionedStreamOwner.cs
- rsa.cs
- BitmapInitialize.cs
- oledbmetadatacollectionnames.cs
- KnownTypesHelper.cs
- UnicodeEncoding.cs
- CrossSiteScriptingValidation.cs
- AsymmetricSignatureDeformatter.cs
- IisTraceListener.cs
- NoClickablePointException.cs
- Substitution.cs
- Activity.cs
- InitialServerConnectionReader.cs
- RuleInfoComparer.cs
- DataKey.cs
- IndexOutOfRangeException.cs
- FaultCode.cs
- EnvelopedPkcs7.cs
- SecurityChannelListener.cs
- ItemCheckedEvent.cs
- LockCookie.cs
- HtmlElementEventArgs.cs
- RegexRunnerFactory.cs
- FieldNameLookup.cs
- BaseProcessor.cs
- EntityDataSourceWrapper.cs
- DataTableCollection.cs
- LocatorBase.cs
- Trace.cs
- ExpressionPrefixAttribute.cs
- PageWrapper.cs
- KeyFrames.cs
- ResourcePart.cs
- XmlWrappingReader.cs
- GridViewCellAutomationPeer.cs
- CodePropertyReferenceExpression.cs
- AdornerHitTestResult.cs
- SchemaCollectionCompiler.cs
- TextInfo.cs
- ProxyGenerator.cs
- TraceContextEventArgs.cs
- ipaddressinformationcollection.cs
- HttpModulesSection.cs
- KeyInterop.cs
- BindingSource.cs
- CorrelationManager.cs
- FieldNameLookup.cs
- DocumentSchemaValidator.cs
- MulticastIPAddressInformationCollection.cs
- CannotUnloadAppDomainException.cs
- XmlSchemaInclude.cs
- SkewTransform.cs
- RuleProcessor.cs
- GPPOINTF.cs
- PromptEventArgs.cs
- SettingsPropertyCollection.cs
- MappingModelBuildProvider.cs
- RightsManagementErrorHandler.cs
- ByteStorage.cs
- TextSelectionHelper.cs
- DataGridTextBoxColumn.cs
- BamlLocalizabilityResolver.cs
- Currency.cs
- AjaxFrameworkAssemblyAttribute.cs
- TreeViewAutomationPeer.cs
- SizeConverter.cs
- HtmlTable.cs
- SurrogateSelector.cs
- GPRECT.cs
- httpserverutility.cs
- Rectangle.cs
- BreadCrumbTextConverter.cs
- DataContract.cs
- PTConverter.cs
- NamedObject.cs
- PropertyStore.cs
- ArcSegment.cs
- InstanceKeyNotReadyException.cs
- EntityDataSourceContextCreatedEventArgs.cs
- MediaContext.cs
- DataGridViewColumnConverter.cs
- TypeUtil.cs
- FixedLineResult.cs
- ReadOnlyHierarchicalDataSourceView.cs
- ServiceBehaviorElement.cs
- TextEffect.cs
- XmlDigitalSignatureProcessor.cs
- RenderingEventArgs.cs
- SqlClientWrapperSmiStreamChars.cs
- WebPartZoneCollection.cs