private void Setup(string name, string directory = "", AssemblyType type = AssemblyType.Dll)
{
Name = name;
Directory = directory;
Type = type;
var assemblyName = new AssemblyName(name);
AppDomain domain = Thread.GetDomain();
if (!string.IsNullOrEmpty(directory))
{
Builder = domain.DefineDynamicAssembly(assemblyName, AssemblyBuilderAccess.RunAndSave, directory);
Module = Builder.DefineDynamicModule(name, name + (type == AssemblyType.Dll ? ".dll" : ".exe"), true);
}
else
{
Builder = domain.DefineDynamicAssembly(assemblyName, AssemblyBuilderAccess.Run);
Module = Builder.DefineDynamicModule(name);
}
Classes = new List<TypeBuilder>();
Enums = new List<EnumBuilder>();
}