System.AppDomain.DefineDynamicAssembly 方法 (AssemblyName, AssemblyBuilderAccess, String, Boolean, IEnumerable)
方法描述
使用指定名称、访问模式、存储目录和同步选项定义动态程序集。
语法定义(C# System.AppDomain.DefineDynamicAssembly 方法 (AssemblyName, AssemblyBuilderAccess, String, Boolean, IEnumerable) 的用法)
public AssemblyBuilder DefineDynamicAssembly( AssemblyName name, AssemblyBuilderAccess access, string dir, bool isSynchronized, IEnumerableassemblyAttributes )
参数/返回值
参数值/返回值 | 参数类型/返回类型 | 参数描述/返回描述 |
---|---|---|
name | System-Reflection-AssemblyName | 动态程序集的唯一标识。 |
access | System-Reflection-Emit-AssemblyBuilderAccess | 访问动态程序集所采用的模式。 |
dir | System-String | 保存动态程序集的目录的名称。如果 dir 为 null,则使用当前目录。 |
isSynchronized | System-Boolean | 若要在动态程序集中同步模块、类型和成员的创建,则为 true;否则为 false。 |
assemblyAttributes | System-Collections-Generic-IEnumerable |
要应用于程序集的可枚举特性列表;如果无特性,则为 null。 |
返回值 | System.Reflection.Emit.AssemblyBuilder | 具有指定名称和功能的动态程序集。 |
提示和注释
使用此方法重载指定除非在创建动态程序集时已应用,否则无法正常使用的特性。 例如,如果在创建动态程序集后添加了安全特性(如 SecurityTransparentAttribute 和 SecurityCriticalAttribute),则这些特性无法正常使用。
如果 isSynchronized 为 true,则将同步所得 AssemblyBuilder 的下列方法:DefineDynamicModule、DefineResource、AddResourceFile、GetDynamicModule、SetEntryPoint 和 Save。 如果在不同线程上调用这些方法中的两个,则一个方法完成前另一个方法将一直阻止。
System.AppDomain.DefineDynamicAssembly 方法 (AssemblyName, AssemblyBuilderAccess, String, Boolean, IEnumerable)例子
异常
异常 | 异常描述 |
---|---|
ArgumentNullException | name 为 null。 |
ArgumentException |
|
AppDomainUnloadedException | 尝试对已卸载的应用程序域进行操作。 |
版本信息
.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 系统要求。