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
- ConfigurationSectionCollection.cs
- FamilyMapCollection.cs
- StreamHelper.cs
- FastPropertyAccessor.cs
- XmlNamespaceMappingCollection.cs
- FixedFindEngine.cs
- CompiledELinqQueryState.cs
- MobileResource.cs
- TraceUtility.cs
- MultiSelector.cs
- AttributeCollection.cs
- ObjectSpanRewriter.cs
- CharAnimationUsingKeyFrames.cs
- SafeTimerHandle.cs
- XmlCharacterData.cs
- _SpnDictionary.cs
- ClosureBinding.cs
- MailDefinition.cs
- DataColumnPropertyDescriptor.cs
- WebPartExportVerb.cs
- AliasedExpr.cs
- DataGridViewComboBoxColumn.cs
- X509Extension.cs
- DesignerCommandAdapter.cs
- MessageSecurityVersion.cs
- SudsWriter.cs
- Visual3D.cs
- MediaTimeline.cs
- Focus.cs
- HMAC.cs
- _LocalDataStoreMgr.cs
- ParameterBuilder.cs
- DrawTreeNodeEventArgs.cs
- ErrorBehavior.cs
- XPathNodeInfoAtom.cs
- AssemblyBuilder.cs
- AssemblyHash.cs
- AuthenticationServiceManager.cs
- BitHelper.cs
- GuidelineSet.cs
- Decoder.cs
- OrderedHashRepartitionEnumerator.cs
- DBBindings.cs
- SynchronizationScope.cs
- RegionIterator.cs
- EntityContainerEntitySet.cs
- Popup.cs
- PopupRootAutomationPeer.cs
- ShaderEffect.cs
- BaseTemplatedMobileComponentEditor.cs
- BindingContext.cs
- AnnotationResourceCollection.cs
- OneToOneMappingSerializer.cs
- DesignerAutoFormat.cs
- GeneralTransform3DTo2DTo3D.cs
- BlurEffect.cs
- IConvertible.cs
- SqlRowUpdatingEvent.cs
- HScrollBar.cs
- FileDialog.cs
- ThreadExceptionDialog.cs
- ParseHttpDate.cs
- DateTimePicker.cs
- TableLayoutStyleCollection.cs
- StorageAssociationSetMapping.cs
- CompModSwitches.cs
- TemplateKey.cs
- HttpAsyncResult.cs
- TdsEnums.cs
- MaskedTextProvider.cs
- ListSortDescriptionCollection.cs
- PageParserFilter.cs
- TextParagraphView.cs
- SourceItem.cs
- PhysicalOps.cs
- Stack.cs
- EndpointAddressProcessor.cs
- PipeStream.cs
- ZipArchive.cs
- OlePropertyStructs.cs
- DecoderExceptionFallback.cs
- Translator.cs
- SettingsAttributes.cs
- ObjectCloneHelper.cs
- ContentPlaceHolderDesigner.cs
- SubpageParagraph.cs
- BinaryConverter.cs
- NamedPermissionSet.cs
- SafeNativeMethodsCLR.cs
- ObjectReferenceStack.cs
- DataGridPageChangedEventArgs.cs
- BindingMAnagerBase.cs
- EntityUtil.cs
- DBAsyncResult.cs
- CompositeFontInfo.cs
- HierarchicalDataSourceConverter.cs
- HttpRequestCacheValidator.cs
- GlyphInfoList.cs
- SmiTypedGetterSetter.cs
- MembershipUser.cs