internal TypeGen(AssemblyGen owner, string name, TypeAttributes attrs, Type baseType, Type[] interfaces) { this.owner = owner; this.name = name; this.baseType = baseType; this.interfaces = interfaces; tb = owner.ModuleBuilder.DefineType(name, attrs, baseType, interfaces); owner.AddType(this); ScanMethodsToImplement(interfaces); TypeInfo.RegisterProvider(tb, this); ResetAttrs(); }
internal TypeGen(AssemblyGen owner, string name, TypeAttributes attrs, Type baseType, Type[] interfaces, ITypeMapper typeMapper) : base(typeMapper) { _owner = owner; Name = name; BaseType = baseType; _interfaces = interfaces; _typeMapper = typeMapper; TypeBuilder = owner.ModuleBuilder.DefineType(name, attrs, baseType, interfaces); owner.AddType(this); ScanMethodsToImplement(interfaces); typeMapper.TypeInfo.RegisterProvider(TypeBuilder, this); ResetAttrs(); }