2007-10-19 Zoltan Varga <vargaz@gmail.com>
authorZoltan Varga <vargaz@gmail.com>
Fri, 19 Oct 2007 19:26:37 +0000 (19:26 -0000)
committerZoltan Varga <vargaz@gmail.com>
Fri, 19 Oct 2007 19:26:37 +0000 (19:26 -0000)
* AppDomain.cs: Add NET 3.5 DefineDynamicAssembly () overloads.

svn path=/trunk/mcs/; revision=87844

mcs/class/corlib/System/AppDomain.cs
mcs/class/corlib/System/ChangeLog

index 3ff2fbf7c9a279bb3649d4576d6ea5720aba72a7..ca85309dfd02920b8a41f36a434e02dd5c5915b7 100644 (file)
@@ -51,6 +51,7 @@ using System.Security.Principal;
 using System.Configuration.Assemblies;
 
 #if NET_2_0
+using System.Collections.Generic;
 using System.Runtime.ConstrainedExecution;
 #endif
 
@@ -432,6 +433,28 @@ namespace System {
                        return ab;
                }
 
+#if NET_2_0
+               // NET 3.5 method
+               public AssemblyBuilder DefineDynamicAssembly (AssemblyName name, AssemblyBuilderAccess access, string dir,
+                                                             Evidence evidence,
+                                                             PermissionSet requiredPermissions,
+                                                             PermissionSet optionalPermissions,
+                                                             PermissionSet refusedPermissions, bool isSynchronized, IEnumerable<CustomAttributeBuilder> assemblyAttributes)
+               {
+                       AssemblyBuilder ab = DefineDynamicAssembly (name, access, dir, evidence, requiredPermissions, optionalPermissions, refusedPermissions, isSynchronized);
+                       if (assemblyAttributes != null)
+                               foreach (CustomAttributeBuilder cb in assemblyAttributes) {
+                                       ab.SetCustomAttribute (cb);
+                               }
+                       return ab;
+               }
+
+               // NET 3.5 method
+               public AssemblyBuilder DefineDynamicAssembly (AssemblyName name, AssemblyBuilderAccess access, IEnumerable<CustomAttributeBuilder> assemblyAttributes) {
+                       return DefineDynamicAssembly (name, access, null, null, null, null, null, false, assemblyAttributes);
+               }
+#endif
+
                internal AssemblyBuilder DefineInternalDynamicAssembly (AssemblyName name, AssemblyBuilderAccess access)
                {
                        return new AssemblyBuilder (name, null, access, true);
@@ -553,7 +576,7 @@ namespace System {
                {
                        if (rawAssembly == null)
                                throw new ArgumentNullException ("rawAssembly");
-                               
+
                        Assembly assembly = LoadAssemblyRaw (rawAssembly, rawSymbolStore, securityEvidence, refonly);
                        assembly.FromByteArray = true;
                        return assembly;
index 20af4c083ba5e950b658f63c8a38e5b4f6776f98..2741821941a4e20f9c621f64e56af15b56b9d76f 100644 (file)
@@ -1,3 +1,7 @@
+2007-10-19  Zoltan Varga  <vargaz@gmail.com>
+
+       * AppDomain.cs: Add NET 3.5 DefineDynamicAssembly () overloads.
+
 2007-10-13  Zoltan Varga  <vargaz@gmail.com>
 
        * Delegate.cs (CreateDelegate): Allow binding instance methods to