Пример #1
0
        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);
        }
Пример #2
0
        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);
        }
Пример #3
0
		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;
		}