问题标签 [dynamic-class-creation]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
345 浏览

python - 类方法中的 __class__ 单元格值是如何设置的?

查看Python 3.5中类型的文档super,它指出super(…)super(__class__, «first argument to function»). 令我惊讶的是,我编写了一个返回的方法__class__——它确实有效:

显然,__class__是一个由函数闭包分配的自由变量:

我想知道在什么情况下自由变量与闭包相关联。我知道,如果我在创建类的过程中将函数分配给变量,则不会发生。

即使我创建了一个新类并作为该创建的一部分为 分配了一些属性meth2meth2也不会以某种方式神奇地获得一个被填充的自由变量。

这并不奇怪,因为其中一部分似乎取决于编译器在编译代码时的词法状态。

我想确认__class__被视为自由变量的必要条件很简单:

  • 代码块中的引用__class__;和
  • def包含引用的__class__词法在class声明块中。

我还想了解正确填写该变量所需的条件是什么。似乎——至少从 Python 3.6 文档来看——以type.__new__(…)某种方式涉及到类似的东西。我无法确定如何type发挥作用,以及这一切如何与最终不调用type.__new__(…).

我特别困惑,因为当时我不认为命名空间的__setattr__方法用于将包含方法的属性分配给方法函数(因为它存在于最终构造的类对象上)。我知道这个命名空间对象的存在是因为它要么是通过使用class语句隐式构造的,要么是由元类的__prepare__方法显式构造的——但据我所知,元类构造了在函数对象设置为__class__ 之后填充的类对象类命名空间中的值。

0 投票
1 回答
483 浏览

javascript - ES6,React - 如何在动态生成的类中设置类名?

我有一个构建器方法,它用注入的道具包装一个类,我想将类名设置为与包装类相同。我该如何做到这一点?(如果需要,只需忽略流输入)

0 投票
1 回答
1931 浏览

java - Byte Buddy - 通过调用超类和初始化字段定义构造函数

我有一门课,例如:

我想创建一个继承自 Sample 类的动态类,并向其中添加字段(字符串字段)。

我试着做:

但是当我试图从这个类创建一个实例时:

它抛出一个异常:

我究竟做错了什么?我想创建一个这样的类:

0 投票
1 回答
53 浏览

c# - 动态创建具有特定 CodeAttributeDeclarations 的类

我需要自定义代码属性来输出类似“DataType(DataType.Text)”的内容

我目前正在尝试使用 CodeAttributeDeclarations。

但是,这样的事情会增加额外的括号:

因此,该代码 ^^^ 输出以下内容:

而且,我需要的是:

0 投票
0 回答
233 浏览

android - 如何使用从服务器接收到的方法字符串在android中创建动态方法

我想创建一个动态类或方法。服务器发送完整的类作为响应。我想使用响应来创建一个动态类。

0 投票
1 回答
3147 浏览

c# - 从包含类定义的字符串创建动态类

我有一个接受表名的存储过程,然后它读取表结构并以字符串中的类定义的形式返回表结构。

例如:

是否可以从包含类定义的字符串创建一个类/类型?例如:-

我必须将此类型变量传递给我的另一段代码,所以请帮助我从包含类定义的字符串中创建类/类型。

0 投票
1 回答
94 浏览

python - python:动态创建的类中的名称修改

我想做这样的事情

基本上,我想要的是创建一个类型,以便它根据动态标识符破坏其成员,但上面的示例不起作用。元类也不行。

我能想到的唯一解决方案是:

执行整个类定义

或通过 getattr 设置属性

但是由于各种原因,它们都没有吸引力,有没有正确的方法可以做到这一点?

0 投票
2 回答
810 浏览

java - 如何动态创建 Java 类/es 文件?

我需要一种方法来为 ex 运行 java 方法。createModule("Login") 并作为输出:

  1. 名为 mod_login 的新文件夹
  2. 在 mod_login 内部从模板创建的 java 类文件

如果模板是

作为回报,我想获得一个动态创建的类:

试图研究 groovy 来做到这一点,但找不到任何有用的东西。

PS它不应该在运行时发生,它更像是一个助手,只需一个按钮就可以实例化这些模块,而不是输入它们

0 投票
1 回答
233 浏览

java - 如何使用 ASM 存储动态生成的 java 类的类定义?

我使用 ASM 动态扩展了一个类。我使用了没有 ProtectionDomain 参数的 defineClass 方法。当我尝试在其他类中使用该类时,我收到 java.lang.NoClassDefFound 错误。如何存储或检索使用 ASM 定义运行时的类定义?

0 投票
1 回答
45 浏览

java - 在 JVM 中记录和跟踪代理创建

我的应用程序中存在类加载问题。我们正在使用自定义类加载器,并且所有内容都正确关闭,但是动态类com.sun.proxy.* and org.springframework.core.$Proxy

我已经尝试了很多东西,包括堆和内存直方图分析,但我认为我需要一些方法来跟踪代理生成。我需要检测:

  1. 哪些对象正在创建代理
  2. 创建的代理名称

是否有任何库/代码片段?我知道我可以在技术上使用 bytebuddy,但不想重新发明轮子