gpt4 book ai didi

haxe - 为什么 Type.resolveClass 和 import 不能为同一个类名工作?

转载 作者:行者123 更新时间:2023-12-02 01:29:58 25 4
gpt4 key购买 nike

考虑以下名为“MyClass.hx”的文件。

package mypackage;

class MyClass {}

class MySubClass extends MyClass {}

在另一个文件中使用MySubClass 时,我必须指定mypackage.MyClass.MySubClass 的全名或导入mypackage.MyClass。但是,为了使用 Type.resolveClass 访问此类型,我必须指定 mypackage.MySubClass,并尝试解析 mypackage.MyClass.MySubClass 返回空值。

我不明白其中的区别,有人可以帮助我理解这一点吗?

最佳答案

反射 API(Type 是其中的一部分)在运行时工作,但是子类型在当时和编译时存在于不同的命名空间中(由于我不完全理解的原因) ).

来自relevant Haxe 手册的部分:

The sub-type relation is not reflected at run-time. That is, public sub-types become a member of their containing package, which could lead to conflicts if two modules within the same package tried to define the same sub-type.var e:haxe.macro.Expr.ExprDef;

关于haxe - 为什么 Type.resolveClass 和 import 不能为同一个类名工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34867107/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com