ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的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的字段数组获得。