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
- BaseCollection.cs
- DBPropSet.cs
- Soap11ServerProtocol.cs
- DateTimeParse.cs
- XmlDataSourceNodeDescriptor.cs
- NativeCppClassAttribute.cs
- InputProviderSite.cs
- Image.cs
- QueryRewriter.cs
- EnterpriseServicesHelper.cs
- Panel.cs
- WebConfigurationHostFileChange.cs
- DocumentPageView.cs
- StyleBamlTreeBuilder.cs
- OracleCommand.cs
- Single.cs
- ServiceContractListItemList.cs
- HostVisual.cs
- serverconfig.cs
- LogSwitch.cs
- ChannelPool.cs
- sqlinternaltransaction.cs
- MetadataCache.cs
- DelegateBodyWriter.cs
- DeclaredTypeValidatorAttribute.cs
- LogicalExpressionTypeConverter.cs
- StreamGeometry.cs
- Schedule.cs
- SmtpSpecifiedPickupDirectoryElement.cs
- OperandQuery.cs
- AdapterDictionary.cs
- SimpleRecyclingCache.cs
- MailWriter.cs
- PresentationTraceSources.cs
- SvcMapFileLoader.cs
- HandleCollector.cs
- ZipArchive.cs
- EventLog.cs
- RegionIterator.cs
- UnknownExceptionActionHelper.cs
- HttpCacheVary.cs
- ProcessModule.cs
- SpellerError.cs
- MarshalByRefObject.cs
- ToolBarTray.cs
- MemberPath.cs
- StorageEntitySetMapping.cs
- PerformanceCounterNameAttribute.cs
- SQLChars.cs
- ObjectAnimationUsingKeyFrames.cs
- SortDescriptionCollection.cs
- FontStretch.cs
- D3DImage.cs
- PointHitTestResult.cs
- HttpHostedTransportConfiguration.cs
- ButtonColumn.cs
- ScriptControlDescriptor.cs
- ProxyManager.cs
- SiteOfOriginPart.cs
- _Rfc2616CacheValidators.cs
- ResourceReader.cs
- _ContextAwareResult.cs
- DesignerListAdapter.cs
- MulticastIPAddressInformationCollection.cs
- datacache.cs
- Renderer.cs
- PrimitiveDataContract.cs
- UriScheme.cs
- Geometry3D.cs
- BindingOperations.cs
- PropertyRecord.cs
- DocumentViewerBaseAutomationPeer.cs
- PTUtility.cs
- RemotingSurrogateSelector.cs
- StreamSecurityUpgradeAcceptor.cs
- MailAddressParser.cs
- CodeDomSerializationProvider.cs
- WebServiceParameterData.cs
- DiscreteKeyFrames.cs
- XPathNodeHelper.cs
- SubclassTypeValidator.cs
- SqlInternalConnectionTds.cs
- AtlasWeb.Designer.cs
- CriticalFinalizerObject.cs
- ControlType.cs
- Geometry3D.cs
- DomainUpDown.cs
- StreamResourceInfo.cs
- AsymmetricKeyExchangeDeformatter.cs
- SafeRightsManagementHandle.cs
- CryptographicAttribute.cs
- EntityClientCacheEntry.cs
- NullableBoolConverter.cs
- SettingsPropertyIsReadOnlyException.cs
- GlobalizationSection.cs
- XmlException.cs
- CompilerCollection.cs
- WindowsListViewItemCheckBox.cs
- QilFactory.cs
- AutomationFocusChangedEventArgs.cs