Mat*_*loy 4 reflection inheritance types haxe
我可以使用Haxe Type类来反映对象的类,例如
getClass<T> (o:T):Class<T>
Run Code Online (Sandbox Code Playgroud)
有没有办法检查给定对象是实现接口还是另一个类的子类?
你可以使用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
Run Code Online (Sandbox Code Playgroud)
如果第二个参数是对象的类,其父类之一或它实现的接口,则返回"true".