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;
///
///
/// 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
- TextPattern.cs
- UriSectionReader.cs
- DataGridViewCell.cs
- DataPagerFieldCommandEventArgs.cs
- ControlFilterExpression.cs
- Barrier.cs
- RootCodeDomSerializer.cs
- ServiceOperationParameter.cs
- MiniCustomAttributeInfo.cs
- TransformPattern.cs
- Model3DGroup.cs
- XmlSerializerOperationBehavior.cs
- CopyNamespacesAction.cs
- Int32CollectionConverter.cs
- FileRecordSequenceCompletedAsyncResult.cs
- QuadraticBezierSegment.cs
- DbConnectionHelper.cs
- SeekableReadStream.cs
- Random.cs
- EntitySqlQueryCacheKey.cs
- FormClosedEvent.cs
- LinearQuaternionKeyFrame.cs
- DataGridViewCheckBoxCell.cs
- HtmlValidatorAdapter.cs
- HttpHandlerAction.cs
- DataRecordInternal.cs
- DivideByZeroException.cs
- SyndicationFeedFormatter.cs
- EventSinkHelperWriter.cs
- CodeAttributeArgumentCollection.cs
- UnsafeCollabNativeMethods.cs
- XmlMembersMapping.cs
- WindowInteractionStateTracker.cs
- Models.cs
- HtmlControlPersistable.cs
- _DynamicWinsockMethods.cs
- UnrecognizedPolicyAssertionElement.cs
- HtmlInputRadioButton.cs
- DispatchWrapper.cs
- Perspective.cs
- StringFormat.cs
- HeaderCollection.cs
- Separator.cs
- LinkedList.cs
- CollectionsUtil.cs
- BitHelper.cs
- OdbcEnvironmentHandle.cs
- DrawingBrush.cs
- SessionStateItemCollection.cs
- PageCatalogPartDesigner.cs
- IHttpResponseInternal.cs
- ObjectDataSourceView.cs
- HtmlTitle.cs
- DataServiceException.cs
- CustomAttributeSerializer.cs
- CustomPeerResolverService.cs
- ClientCultureInfo.cs
- TypedServiceChannelBuilder.cs
- PageAdapter.cs
- HttpHandlerAction.cs
- ListViewGroup.cs
- TdsRecordBufferSetter.cs
- CodeSnippetTypeMember.cs
- ConsumerConnectionPoint.cs
- UnsafeNativeMethods.cs
- Conditional.cs
- LinkButton.cs
- UnsignedPublishLicense.cs
- DrawTreeNodeEventArgs.cs
- securitycriticaldataformultiplegetandset.cs
- SafeBitVector32.cs
- KoreanLunisolarCalendar.cs
- LOSFormatter.cs
- PointUtil.cs
- WindowsContainer.cs
- TextBox.cs
- TemplateManager.cs
- SqlClientFactory.cs
- XMLDiffLoader.cs
- TransformGroup.cs
- ColorContextHelper.cs
- ValidationPropertyAttribute.cs
- ResourceDisplayNameAttribute.cs
- PieceDirectory.cs
- XmlILIndex.cs
- XamlVector3DCollectionSerializer.cs
- ReachDocumentReferenceCollectionSerializer.cs
- DllNotFoundException.cs
- CustomAttributeBuilder.cs
- _UriSyntax.cs
- ListViewGroupConverter.cs
- X509CertificateStore.cs
- Visual3D.cs
- MetadataImporterQuotas.cs
- WindowsEditBoxRange.cs
- BulletDecorator.cs
- Geometry.cs
- PropertyRecord.cs
- CopyNamespacesAction.cs
- Stylus.cs