Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

<PropertyGroup>
<OutputType>Library</OutputType>
<TargetFramework>net48</TargetFramework>
<TargetFramework>net10.0</TargetFramework>
</PropertyGroup>

</Project>
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ public static void DefineDynamicModuleDemo1()
AppDomain myAppDomain = Thread.GetDomain();
AssemblyName myAsmName = new AssemblyName();
myAsmName.Name = "MyAssembly";
AssemblyBuilder myAsmBuilder = myAppDomain.DefineDynamicAssembly(
AssemblyBuilder myAsmBuilder = AssemblyBuilder.DefineDynamicAssembly(
myAsmName,
AssemblyBuilderAccess.Run);

Expand All @@ -28,15 +28,14 @@ public static void DefineDynamicModuleDemo2()
AppDomain myAppDomain = Thread.GetDomain();
AssemblyName myAsmName = new AssemblyName();
myAsmName.Name = "MyAssembly";
AssemblyBuilder myAsmBuilder = myAppDomain.DefineDynamicAssembly(
AssemblyBuilder myAsmBuilder = AssemblyBuilder.DefineDynamicAssembly(
myAsmName,
AssemblyBuilderAccess.Run);

// Create a transient dynamic module. Since no DLL name is specified with
// this constructor, it can not be saved. By specifying the second parameter
// of the constructor as false, we can suppress the emission of symbol info.
ModuleBuilder myModuleBuilder = myAsmBuilder.DefineDynamicModule("MyModule2",
false);
ModuleBuilder myModuleBuilder = myAsmBuilder.DefineDynamicModule("MyModule2");
// </Snippet2>
}
public static void DefineDynamicModuleDemo3()
Expand All @@ -45,12 +44,11 @@ public static void DefineDynamicModuleDemo3()
AppDomain myAppDomain = Thread.GetDomain();
AssemblyName myAsmName = new AssemblyName();
myAsmName.Name = "MyAssembly";
AssemblyBuilder myAsmBuilder = myAppDomain.DefineDynamicAssembly(
AssemblyBuilder myAsmBuilder = AssemblyBuilder.DefineDynamicAssembly(
myAsmName,
AssemblyBuilderAccess.Run);
// Create a dynamic module that can be saved as the specified DLL name.
ModuleBuilder myModuleBuilder = myAsmBuilder.DefineDynamicModule("MyModule3",
"MyModule3.dll");
ModuleBuilder myModuleBuilder = myAsmBuilder.DefineDynamicModule("MyModule3");
// </Snippet3>
}
public static void DefineDynamicModuleDemo4()
Expand All @@ -59,14 +57,12 @@ public static void DefineDynamicModuleDemo4()
AppDomain myAppDomain = Thread.GetDomain();
AssemblyName myAsmName = new AssemblyName();
myAsmName.Name = "MyAssembly";
AssemblyBuilder myAsmBuilder = myAppDomain.DefineDynamicAssembly(
AssemblyBuilder myAsmBuilder = AssemblyBuilder.DefineDynamicAssembly(
myAsmName,
AssemblyBuilderAccess.Run);
// Create a dynamic module that can be saved as the specified DLL name. By
// specifying the third parameter as true, we can allow the emission of symbol info.
ModuleBuilder myModuleBuilder = myAsmBuilder.DefineDynamicModule("MyModule4",
"MyModule4.dll",
true);
ModuleBuilder myModuleBuilder = myAsmBuilder.DefineDynamicModule("MyModule4");
// </Snippet4>
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net6.0</TargetFramework>
<TargetFramework>net10.0</TargetFramework>
<Nullable>enable</Nullable>
</PropertyGroup>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

<PropertyGroup>
<OutputType>Library</OutputType>
<TargetFramework>net48</TargetFramework>
<TargetFramework>net10.0</TargetFramework>
</PropertyGroup>

</Project>
Original file line number Diff line number Diff line change
Expand Up @@ -36,8 +36,8 @@ internal MyConstructorBuilder()
AssemblyName myAssemblyName = new AssemblyName();
myAssemblyName.Name = "TempAssembly";
// Create a dynamic assembly
myAssemblyBuilder = myCurrentDomain.DefineDynamicAssembly
(myAssemblyName, AssemblyBuilderAccess.RunAndSave);
myAssemblyBuilder = AssemblyBuilder.DefineDynamicAssembly
(myAssemblyName, AssemblyBuilderAccess.Run);
// Create a dynamic module in the assembly.
myModuleBuilder = myAssemblyBuilder.DefineDynamicModule("TempModule");
FieldInfo myFieldInfo =
Expand All @@ -50,12 +50,6 @@ internal MyConstructorBuilder()
// Define a constructor of the dynamic class.
ConstructorBuilder myConstructor = myTypeBuilder.DefineConstructor(
MethodAttributes.Public, CallingConventions.Standard, myConstructorArgs);
PermissionSet myPset = new PermissionSet(PermissionState.Unrestricted);
// Add declarative security to the constructor.
Console.WriteLine("Adding declarative security to the constructor.....");
Console.WriteLine("The Security action to be taken is \"DENY\" and" +
" Permission set is \"UNRESTRICTED\".");
myConstructor.AddDeclarativeSecurity(SecurityAction.Deny,myPset);
// </Snippet3>
MethodAttributes myMethodAttributes = myConstructor.Attributes;
Type myAttributeType = typeof(MethodAttributes);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

<PropertyGroup>
<OutputType>Library</OutputType>
<TargetFramework>net48</TargetFramework>
<TargetFramework>net10.0</TargetFramework>
</PropertyGroup>

</Project>
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ public MyConstructorBuilder()
AssemblyName myAssemblyName = new AssemblyName();
myAssemblyName.Name = "TempAssembly";
// Create a dynamic assembly.
myAssemblyBuilder = myCurrentDomain.DefineDynamicAssembly
myAssemblyBuilder = AssemblyBuilder.DefineDynamicAssembly
(myAssemblyName, AssemblyBuilderAccess.Run);
// Create a dynamic module in the assembly.
myModuleBuilder = myAssemblyBuilder.DefineDynamicModule("TempModule");
Expand All @@ -51,8 +51,6 @@ public MyConstructorBuilder()
Console.WriteLine("The constructor name is : "+ myConstructor.Name);
// Display the 'Type' object from which this object was obtained.
Console.WriteLine("The reflected type is : "+ myConstructor.ReflectedType);
// Display the signature of the field.
Console.WriteLine(myConstructor.Signature);
// Display the constructor builder instance as a string.
Console.WriteLine(myConstructor.ToString());
// </Snippet2>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

<PropertyGroup>
<OutputType>Library</OutputType>
<TargetFramework>net48</TargetFramework>
<TargetFramework>net10.0</TargetFramework>
</PropertyGroup>

</Project>
Original file line number Diff line number Diff line change
Expand Up @@ -18,12 +18,11 @@ public static Type DynamicPointTypeGen() {
AssemblyName myAsmName = new AssemblyName();
myAsmName.Name = "MyDynamicAssembly";

AssemblyBuilder myAsmBuilder = myDomain.DefineDynamicAssembly(
AssemblyBuilder myAsmBuilder = AssemblyBuilder.DefineDynamicAssembly(
myAsmName,
AssemblyBuilderAccess.RunAndSave);
AssemblyBuilderAccess.Run);

ModuleBuilder pointModule = myAsmBuilder.DefineDynamicModule("PointModule",
"Point.dll");
ModuleBuilder pointModule = myAsmBuilder.DefineDynamicModule("PointModule");

TypeBuilder pointTypeBld = pointModule.DefineType("Point",
TypeAttributes.Public);
Expand Down Expand Up @@ -109,7 +108,6 @@ public static Type DynamicPointTypeGen() {

// Let's save it, just for posterity.

myAsmBuilder.Save("Point.dll");

return pointType;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

<PropertyGroup>
<OutputType>Library</OutputType>
<TargetFramework>net48</TargetFramework>
<TargetFramework>net10.0</TargetFramework>
</PropertyGroup>

</Project>
Original file line number Diff line number Diff line change
Expand Up @@ -30,10 +30,10 @@ internal MyConstructorBuilder()
AssemblyName myAssemblyName = new AssemblyName();
myAssemblyName.Name = "TempAssembly";
// Create a dynamic assembly.
myAssemblyBuilder = myCurrentDomain.DefineDynamicAssembly
myAssemblyBuilder = AssemblyBuilder.DefineDynamicAssembly
(myAssemblyName, AssemblyBuilderAccess.Run);
// Create a dynamic module in the assembly.
myModuleBuilder = myAssemblyBuilder.DefineDynamicModule("TempModule", true);
myModuleBuilder = myAssemblyBuilder.DefineDynamicModule("TempModule");
FieldInfo myFieldInfo2 =
myModuleBuilder.DefineUninitializedData("myField", 2, FieldAttributes.Public);
// Create a type in the module.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

<PropertyGroup>
<OutputType>Library</OutputType>
<TargetFramework>net48</TargetFramework>
<TargetFramework>net10.0</TargetFramework>
</PropertyGroup>

</Project>
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ public static Type BuildTypeWithCustomAttributesOnMethod()
AssemblyName myAsmName = new AssemblyName();
myAsmName.Name = "MyAssembly";

AssemblyBuilder myAsmBuilder = currentDomain.DefineDynamicAssembly(
AssemblyBuilder myAsmBuilder = AssemblyBuilder.DefineDynamicAssembly(
myAsmName, AssemblyBuilderAccess.Run);

ModuleBuilder myModBuilder = myAsmBuilder.DefineDynamicModule("MyModule");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

<PropertyGroup>
<OutputType>Library</OutputType>
<TargetFramework>net6.0</TargetFramework>
<TargetFramework>net10.0</TargetFramework>
</PropertyGroup>

</Project>
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

<PropertyGroup>
<OutputType>Library</OutputType>
<TargetFramework>net6.0</TargetFramework>
<TargetFramework>net10.0</TargetFramework>
</PropertyGroup>

</Project>
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

<PropertyGroup>
<OutputType>Library</OutputType>
<TargetFramework>net48</TargetFramework>
<TargetFramework>net10.0</TargetFramework>
</PropertyGroup>

</Project>
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ public static void Main()
{
try
{
CreateCallee(Thread.GetDomain(), AssemblyBuilderAccess.Save);
CreateCallee(Thread.GetDomain(), AssemblyBuilderAccess.Run);
Type[] myTypeArray = myModuleBuilder.GetTypes();
foreach(Type myType in myTypeArray)
{
Expand All @@ -48,7 +48,6 @@ public static void Main()
Console.WriteLine("Enum Module is :" + myEnumBuilder.Module.ToString());
Console.WriteLine("Enum Name is :" + myEnumBuilder.Name.ToString());
Console.WriteLine("Enum NameSpace is :" + myEnumBuilder.Namespace);
myAssemblyBuilder.Save("EmittedAssembly.dll");
}
catch(NotSupportedException ex)
{
Expand All @@ -67,12 +66,11 @@ private static void CreateCallee(AppDomain myAppDomain, AssemblyBuilderAccess ac
myAssemblyName.Name = "EmittedAssembly";

// Create the dynamic assembly.
myAssemblyBuilder = myAppDomain.DefineDynamicAssembly(myAssemblyName,
AssemblyBuilderAccess.Save);
myAssemblyBuilder = AssemblyBuilder.DefineDynamicAssembly(myAssemblyName,
AssemblyBuilderAccess.Run);

// Create a dynamic module.
myModuleBuilder = myAssemblyBuilder.DefineDynamicModule("EmittedModule",
"EmittedModule.mod");
myModuleBuilder = myAssemblyBuilder.DefineDynamicModule("EmittedModule");

// Create a dynamic Enum.
myEnumBuilder = myModuleBuilder.DefineEnum("MyNamespace.MyEnum",
Expand All @@ -88,4 +86,4 @@ private static void CreateCallee(AppDomain myAppDomain, AssemblyBuilderAccess ac
// </Snippet4>
// </Snippet3>
// </Snippet2>
// </Snippet1>
// </Snippet1>
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

<PropertyGroup>
<OutputType>Library</OutputType>
<TargetFramework>net48</TargetFramework>
<TargetFramework>net10.0</TargetFramework>
</PropertyGroup>

</Project>
Original file line number Diff line number Diff line change
Expand Up @@ -32,22 +32,19 @@ public static void Main()
{
try
{
CreateCallee(Thread.GetDomain(), AssemblyBuilderAccess.Save);
CreateCallee(Thread.GetDomain(), AssemblyBuilderAccess.Run);
Type[] myTypeArray = myModuleBuilder.GetTypes();
foreach(Type myType in myTypeArray)
{
Console.WriteLine("Enum Builder defined in the module builder is: "
+ myType.Name);
}

Console.WriteLine("Enum TypeToken is :" +
myEnumBuilder.TypeToken.ToString());
Console.WriteLine("Enum UnderLyingField is :" +
myEnumBuilder.UnderlyingField.ToString());
Console.WriteLine("Enum UnderLyingSystemType is :" +
myEnumBuilder.UnderlyingSystemType.ToString());
Console.WriteLine("Enum GUID is :" + myEnumBuilder.GUID.ToString());
myAssemblyBuilder.Save("EmittedAssembly.dll");
}
catch(NotSupportedException ex)
{
Expand All @@ -66,11 +63,10 @@ private static void CreateCallee(AppDomain myAppDomain, AssemblyBuilderAccess ac
myAssemblyName.Name = "EmittedAssembly";

// Create the dynamic assembly.
myAssemblyBuilder = myAppDomain.DefineDynamicAssembly(myAssemblyName,
AssemblyBuilderAccess.Save);
myAssemblyBuilder = AssemblyBuilder.DefineDynamicAssembly(myAssemblyName,
AssemblyBuilderAccess.Run);
// Create a dynamic module.
myModuleBuilder = myAssemblyBuilder.DefineDynamicModule("EmittedModule",
"EmittedModule.mod");
myModuleBuilder = myAssemblyBuilder.DefineDynamicModule("EmittedModule");
// Create a dynamic Enum.
myEnumBuilder = myModuleBuilder.DefineEnum("MyNamespace.MyEnum",
TypeAttributes.Public, typeof(Int32));
Expand All @@ -84,4 +80,4 @@ private static void CreateCallee(AppDomain myAppDomain, AssemblyBuilderAccess ac
// </Snippet4>
// </Snippet3>
// </Snippet2>
// </Snippet1>
// </Snippet1>
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

<PropertyGroup>
<OutputType>Library</OutputType>
<TargetFramework>net481</TargetFramework>
<TargetFramework>net10.0</TargetFramework>

</PropertyGroup>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ private static void CreateCallee(AppDomain domain)
myAssemblyName.Name = "EmittedAssembly";

// Create the dynamic assembly.
myAssemblyBuilder = domain.DefineDynamicAssembly(myAssemblyName, AssemblyBuilderAccess.Run);
myAssemblyBuilder = AssemblyBuilder.DefineDynamicAssembly(myAssemblyName, AssemblyBuilderAccess.Run);

Type myType = typeof(MyAttribute);
ConstructorInfo myInfo = myType.GetConstructor(new Type[2]{typeof(String), typeof(int)});
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ private static void CreateCallee(AppDomain domain)

// Create the dynamic assembly.
AssemblyBuilder myAssemblyBuilder
= domain.DefineDynamicAssembly(myAssemblyName, AssemblyBuilderAccess.Run);
= AssemblyBuilder.DefineDynamicAssembly(myAssemblyName, AssemblyBuilderAccess.Run);

Type myType = typeof(MyAttribute2);
ConstructorInfo myInfo = myType.GetConstructor(new Type[]{typeof(bool)});
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

<PropertyGroup>
<OutputType>Library</OutputType>
<TargetFramework>net48</TargetFramework>
<TargetFramework>net10.0</TargetFramework>
</PropertyGroup>

</Project>
Original file line number Diff line number Diff line change
Expand Up @@ -13,12 +13,12 @@ public static void Main()
// Create a dynamic assembly in the current application domain,
// and allow it to be executed and saved to disk.
AssemblyName aName = new AssemblyName("TempAssembly");
AssemblyBuilder ab = currentDomain.DefineDynamicAssembly(
aName, AssemblyBuilderAccess.RunAndSave);
AssemblyBuilder ab = AssemblyBuilder.DefineDynamicAssembly(
aName, AssemblyBuilderAccess.Run);

// Define a dynamic module in "TempAssembly" assembly. For a single-
// module assembly, the module has the same name as the assembly.
ModuleBuilder mb = ab.DefineDynamicModule(aName.Name, aName.Name + ".dll");
ModuleBuilder mb = ab.DefineDynamicModule(aName.Name);

// Define a public enumeration with the name "Elevation" and an
// underlying type of Integer.
Expand All @@ -30,7 +30,6 @@ public static void Main()

// Create the type and save the assembly.
Type finished = eb.CreateType();
ab.Save(aName.Name + ".dll");

foreach( object o in Enum.GetValues(finished) )
{
Expand Down
Loading
Loading