Haxe Reflection - 子类和接口

Haxe Reflection - Subclasses and Interfaces

我可以使用 Haxe 类型 Class 来反映对象的 class 例如

getClass<T> (o:T):Class<T>

有没有办法检查给定对象是否实现接口或者是另一个 class 的子class?

您可以使用 Std.is:

class Subclass extends OriginalClass implements IMyInterface {}

var myObj = new Subclass();

var isClass = Std.is(myObj, OriginalClass);      // returns true
var isSubclass = Std.is(myObj, Subclass);        // also returns true
var isInterface = Std.is(myObj, IMyInterface);   // also returns true

如果第二个参数是对象的 class、其父 class 之一或它实现的接口,return 将 "true"。