static AssemblyDefinition CreateAssembly(string assemblyName, Expression <Action <FluentTypeBuilder> >[] types) { var assembly = AssemblyDefinition.CreateAssembly(new AssemblyNameDefinition(assemblyName, "0.0.0.0".ToVersion()), assemblyName + ".dll", ModuleKind.Dll); foreach (var type in types) { var builder = new FluentTypeBuilder(assembly.MainModule, type.Parameters[0].Name); var config = type.Compile(); config(builder); var typeDef = (TypeDefinition)builder; assembly.MainModule.Types.Add(typeDef); } return(assembly); }
static TypeAttributes GetTypeAttributes(FluentTypeBuilder builder) { return(builder._visibility | TypeAttributes.Class); }