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;
///
///
/// Represents the results
/// of compilation from the compiler.
///
///
[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;
///
///
/// Initializes a new instance of
/// that uses the specified
/// temporary files.
///
///
[PermissionSet(SecurityAction.LinkDemand, Name="FullTrust")]
public CompilerResults(TempFileCollection tempFiles) {
this.tempFiles = tempFiles;
}
///
///
/// Gets or sets the temporary files to use.
///
///
public TempFileCollection TempFiles {
[PermissionSet(SecurityAction.LinkDemand, Name="FullTrust")]
get {
return tempFiles;
}
[PermissionSet(SecurityAction.LinkDemand, Name="FullTrust")]
set {
tempFiles = value;
}
}
///
///
/// Set the evidence for partially trusted scenarios.
///
///
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;
}
}
///
///
/// The compiled assembly.
///
///
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;
}
}
///
///
/// Gets or sets the collection of compiler errors.
///
///
public CompilerErrorCollection Errors {
get {
return errors;
}
}
///
///
/// Gets or sets the compiler output messages.
///
///
public StringCollection Output {
[PermissionSet(SecurityAction.LinkDemand, Name="FullTrust")]
get {
return output;
}
}
///
///
/// Gets or sets the path to the assembly.
///
///
public string PathToAssembly {
[PermissionSet(SecurityAction.LinkDemand, Name="FullTrust")]
get {
return pathToAssembly;
}
[PermissionSet(SecurityAction.LinkDemand, Name="FullTrust")]
set {
pathToAssembly = value;
}
}
///
///
/// Gets or sets the compiler's return value.
///
///
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 );
}
}
}
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ControlBuilderAttribute.cs
- Viewport2DVisual3D.cs
- ScriptReferenceEventArgs.cs
- Lasso.cs
- ToolStripSystemRenderer.cs
- compensatingcollection.cs
- XDeferredAxisSource.cs
- WebPartTransformerCollection.cs
- SqlCachedBuffer.cs
- EditingCommands.cs
- ActivationServices.cs
- ProxyHwnd.cs
- AnnotationAuthorChangedEventArgs.cs
- SafeFileMapViewHandle.cs
- DatagramAdapter.cs
- CodeCatchClause.cs
- DbTransaction.cs
- CallSiteBinder.cs
- LocatorGroup.cs
- HierarchicalDataSourceControl.cs
- DataServiceProviderWrapper.cs
- TableRowGroupCollection.cs
- WebPartConnectVerb.cs
- CriticalHandle.cs
- DocumentGrid.cs
- DataStorage.cs
- ToolStripItemImageRenderEventArgs.cs
- StrokeIntersection.cs
- DataGridViewCell.cs
- GAC.cs
- X509CertificateStore.cs
- WebPartConnectionsConfigureVerb.cs
- RemoteX509AsymmetricSecurityKey.cs
- GC.cs
- SecondaryIndex.cs
- SqlNodeTypeOperators.cs
- AdditionalEntityFunctions.cs
- ADRole.cs
- ContentType.cs
- _LazyAsyncResult.cs
- cookiecollection.cs
- MarkerProperties.cs
- DateTimeSerializationSection.cs
- Graph.cs
- UserInitiatedNavigationPermission.cs
- StateMachineSubscription.cs
- ParenthesizePropertyNameAttribute.cs
- Calendar.cs
- ExpressionConverter.cs
- MatrixStack.cs
- ProfileSection.cs
- HtmlSelect.cs
- ReferencedCollectionType.cs
- HyperLinkColumn.cs
- LiteralControl.cs
- oledbconnectionstring.cs
- RichTextBoxDesigner.cs
- SqlCommand.cs
- IgnoreFlushAndCloseStream.cs
- TextAdaptor.cs
- DataGridItemEventArgs.cs
- CommonRemoteMemoryBlock.cs
- SingleAnimation.cs
- CapabilitiesState.cs
- DataTemplateSelector.cs
- MobileControlBuilder.cs
- DynamicResourceExtension.cs
- CheckBoxRenderer.cs
- SoapFault.cs
- ToolBarButton.cs
- DataGridTextBox.cs
- MediaPlayer.cs
- Cursors.cs
- EncryptedKeyIdentifierClause.cs
- SQLUtility.cs
- ComplexLine.cs
- Int16.cs
- BitmapEffectDrawingContextWalker.cs
- DbProviderServices.cs
- ContextQuery.cs
- CqlGenerator.cs
- InternalPermissions.cs
- ExceptionValidationRule.cs
- MainMenu.cs
- MailAddressParser.cs
- XmlQueryContext.cs
- XmlException.cs
- LinqDataSourceContextEventArgs.cs
- LineBreak.cs
- DesignerResources.cs
- PageMediaSize.cs
- BinaryConverter.cs
- AddInController.cs
- FieldMetadata.cs
- ToolStripItemCollection.cs
- SamlAdvice.cs
- RightsManagementInformation.cs
- GenericEnumConverter.cs
- MaskDescriptors.cs
- BaseConfigurationRecord.cs