System.AppDomain.DefineDynamicAssembly 方法 (AssemblyName, AssemblyBuilderAccess, IEnumerable, SecurityContextSource)

方法描述

定义具有指定名称、访问模式和自定义特性的动态程序集,并将指定源用于动态程序集的安全上下文。

语法定义(C# System.AppDomain.DefineDynamicAssembly 方法 (AssemblyName, AssemblyBuilderAccess, IEnumerable, SecurityContextSource) 的用法)

public AssemblyBuilder DefineDynamicAssembly(
	AssemblyName name,
	AssemblyBuilderAccess access,
	IEnumerable assemblyAttributes,
	SecurityContextSource securityContextSource
)

参数/返回值

参数值/返回值 参数类型/返回类型 参数描述/返回描述
name System-Reflection-AssemblyName 动态程序集的唯一标识。
access System-Reflection-Emit-AssemblyBuilderAccess 动态程序集的访问模式。
assemblyAttributes System-Collections-Generic-IEnumerable 要应用于程序集的可枚举特性列表;如果无特性,则为 null。
securityContextSource System-Security-SecurityContextSource 安全上下文的源。
返回值 System.Reflection.Emit.AssemblyBuilder 具有指定名称和功能的动态程序集。

提示和注释

使用此方法重载指定除非在创建动态程序集时已应用,否则无法正常使用的特性。 例如,如果在创建动态程序集后添加了安全特性(如 SecurityTransparentAttribute 和 SecurityCriticalAttribute),则这些特性无法正常使用。

此方法只应用于在当前应用程序域中定义动态程序集。 有关此限制的更多信息,请参见 Load(AssemblyName) 方法重载。

System.AppDomain.DefineDynamicAssembly 方法 (AssemblyName, AssemblyBuilderAccess, IEnumerable, SecurityContextSource)例子


异常

异常 异常描述
ArgumentNullException name 为 null。
ArgumentException
  • name 的 Name 属性为 null。
  • name 的 Name 属性以空白开始,或者包含正斜杠或反斜杠。
AppDomainUnloadedException 尝试对已卸载的应用程序域进行操作。
ArgumentOutOfRangeException securityContextSource 的值不是枚举值之一。

命名空间

namespace: System

程序集: mscorlib(在 mscorlib.dll 中)

版本信息

.NET Framework 受以下版本支持:4 .NET Framework Client Profile 受以下版本支持:4

适用平台

Windows 7, Windows Vista SP1 或更高版本, Windows XP SP3, Windows Server 2008(不支持服务器核心), Windows Server 2008 R2(支持 SP1 或更高版本的服务器核心), Windows Server 2003 SP2 .NET Framework 并不是对每个平台的所有版本都提供支持。有关支持的版本的列表,请参见.NET Framework 系统要求。