Code:
/ DotNET / DotNET / 8.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
- TemplateInstanceAttribute.cs
- ByteAnimationUsingKeyFrames.cs
- XMLSyntaxException.cs
- PreProcessInputEventArgs.cs
- DataSourceSelectArguments.cs
- WebPageTraceListener.cs
- Socket.cs
- LicenseContext.cs
- Size.cs
- OleDbConnectionFactory.cs
- BamlWriter.cs
- DurableInstanceContextProvider.cs
- Exception.cs
- CodeDOMUtility.cs
- HttpClientCertificate.cs
- Constant.cs
- DelegateSerializationHolder.cs
- PrintingPermissionAttribute.cs
- WebPartZoneDesigner.cs
- StylusTip.cs
- ComponentEditorForm.cs
- FlowDocument.cs
- BitStack.cs
- Literal.cs
- DesignerValidatorAdapter.cs
- TypedTableBase.cs
- BaseTemplateCodeDomTreeGenerator.cs
- PcmConverter.cs
- ContextInformation.cs
- UpDownEvent.cs
- Axis.cs
- CodeStatement.cs
- SortedList.cs
- Win32KeyboardDevice.cs
- PolyLineSegmentFigureLogic.cs
- CodeIterationStatement.cs
- UpdateTranslator.cs
- HttpClientProtocol.cs
- WmlSelectionListAdapter.cs
- RemotingServices.cs
- BinaryOperationBinder.cs
- ChannelManagerBase.cs
- FlowchartDesigner.xaml.cs
- M3DUtil.cs
- JapaneseCalendar.cs
- Control.cs
- TypedDatasetGenerator.cs
- _SslState.cs
- CreateInstanceBinder.cs
- Point4DConverter.cs
- LostFocusEventManager.cs
- ListViewUpdatedEventArgs.cs
- __ComObject.cs
- BitmapEffectInputConnector.cs
- AdapterDictionary.cs
- DataListGeneralPage.cs
- PerformanceCounterNameAttribute.cs
- DataGridCell.cs
- ListParagraph.cs
- XmlILModule.cs
- PcmConverter.cs
- Internal.cs
- Brushes.cs
- StateMachineTimers.cs
- JsonEnumDataContract.cs
- FilteredAttributeCollection.cs
- WindowsAuthenticationModule.cs
- SvcFileManager.cs
- ContainerParagraph.cs
- DllNotFoundException.cs
- EncoderFallback.cs
- Buffer.cs
- TypedDataSourceCodeGenerator.cs
- COMException.cs
- DbParameterCollectionHelper.cs
- AuthenticatedStream.cs
- AdRotator.cs
- ArgumentValidation.cs
- SiteIdentityPermission.cs
- WebPartAuthorizationEventArgs.cs
- OrderingExpression.cs
- SourceLineInfo.cs
- BinaryMethodMessage.cs
- Positioning.cs
- MessageQueue.cs
- SynchronizedInputAdaptor.cs
- DoubleLinkList.cs
- MemberAssignmentAnalysis.cs
- ImageAutomationPeer.cs
- ExternalException.cs
- FixedPageStructure.cs
- SymbolType.cs
- EmptyReadOnlyDictionaryInternal.cs
- WindowsGraphicsWrapper.cs
- BaseProcessor.cs
- SqlDataSourceCommandParser.cs
- ValidationEventArgs.cs
- SourceItem.cs
- DataGridViewCellLinkedList.cs
- NumberEdit.cs