企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持知识库和私有化部署方案 广告
还可以使用具体化来获取一个 haxe.macro.Expr.TypeDefinition 的实例。这是通过 macro 类语法表示的,如下面显示的: ~~~ class Main { macro static function generateClass(funcName:String) { var c = macro class MyClass { public function new() { } public function $funcName() { trace($v{funcName} + " was called"); } } haxe.macro.Context.defineType(c); return macro new MyClass(); } public static function main() { var c = generateClass("myFunc"); c.myFunc(); } } ~~~ 生成的 TypeDefinition 实例通常传递到 haxe.macro.Context.defineType 来添加一个i额新的类型到调用上下文(不是宏上下文本身)。 这类的具体化可以用于获得 haxe.macro.Expr.Field的实例,可从生成的TypeDefinition的字段数组获得。