public TypeBuilder __DefineNestedType(string ns, string name) { this.typeFlags |= TypeFlags.HasNestedTypes; TypeBuilder typeBuilder = this.ModuleBuilder.DefineType(this, ns, name); NestedClassTable.Record rec = new NestedClassTable.Record(); rec.NestedClass = typeBuilder.MetadataToken; rec.EnclosingClass = this.MetadataToken; this.ModuleBuilder.NestedClass.AddRecord(rec); return(typeBuilder); }
internal TypeBuilder DefineNestedTypeHelper(TypeBuilder enclosingType, string name, TypeAttributes attr, Type parent, PackingSize packingSize, int typesize) { if (parent == null && (attr & TypeAttributes.Interface) == 0) { parent = universe.System_Object; } TypeBuilder typeBuilder = new TypeBuilder(enclosingType, name, parent, attr); PostDefineType(typeBuilder, packingSize, typesize); if (enclosingType != null) { NestedClassTable.Record rec = new NestedClassTable.Record(); rec.NestedClass = typeBuilder.MetadataToken; rec.EnclosingClass = enclosingType.MetadataToken; this.NestedClass.AddRecord(rec); } return(typeBuilder); }
public TypeBuilder __DefineNestedType(string ns, string name) { this.typeFlags |= TypeFlags.HasNestedTypes; TypeBuilder typeBuilder = this.ModuleBuilder.DefineType(this, ns, name); NestedClassTable.Record rec = new NestedClassTable.Record(); rec.NestedClass = typeBuilder.MetadataToken; rec.EnclosingClass = this.MetadataToken; this.ModuleBuilder.NestedClass.AddRecord(rec); return typeBuilder; }