# System.Reflection.Emit

``` diff
 namespace System.Reflection.Emit {
     public abstract class AssemblyBuilder : Assembly {
-        public static AssemblyBuilder DefinePersistedAssembly(AssemblyName name, Assembly coreAssembly, IEnumerable<CustomAttributeBuilder>? assemblyAttributes = null);

-        public void Save(Stream stream);

-        public void Save(string assemblyFileName);

-        protected virtual void SaveCore(Stream stream);

     }
+    public sealed class PersistedAssemblyBuilder : AssemblyBuilder {
+        public PersistedAssemblyBuilder(AssemblyName name, Assembly coreAssembly, IEnumerable<CustomAttributeBuilder>? assemblyAttributes = null);
+        public override string? FullName { get; }
+        public override bool IsDynamic { get; }
+        public override Module ManifestModule { get; }
+        protected override ModuleBuilder DefineDynamicModuleCore(string name);
+        public MetadataBuilder GenerateMetadata(out BlobBuilder ilStream, out BlobBuilder mappedFieldData);
+        protected override ModuleBuilder? GetDynamicModuleCore(string name);
+        public override AssemblyName GetName(bool copiedName);
+        public void Save(Stream stream);
+        public void Save(string assemblyFileName);
+        protected override void SetCustomAttributeCore(ConstructorInfo con, ReadOnlySpan<byte> binaryAttribute);
+    }
 }
```

