Reflect

Reflect

no package

Available on all platforms

The Reflect API is a way to manipulate values dynamically through an abstract interface in an untyped manner. Use with care.

See:

Static methods

static callMethod (o:Dynamic, func:Function, args:Array<Dynamic>):Dynamic

Call a method with the given object and arguments-

static compare<T> (a:T, b:T ):Int

Compares a and b.

If a is less than b, the result is negative. If b is less than a, the result is positive. If a and b are equal, the result is 0.

This function is only defined if a and b are of the same type.

If that type is a function, the result is unspecified and Reflect.compareMethods should be used instead.

For all other types, the result is 0 if a and b are equal. If they are not equal, the result depends on the type and is negative if:

  • Numeric types: a is less than b
  • String: a is lexicographically less than b
  • Other: unspecified

If a and b are null, the result is 0. If only one of them is null, the result is unspecified.

static compareMethods (f1:Dynamic, f2:Dynamic):Bool

Compares the functions f1 and f2-

If f1 or f2 are not functions, the result is unspecified-

Otherwise the result is true if f1 and the f2 are physically equal, false otherwise-

static copy<T> (o:T ):T

Copies the fields of structure o.

This is only guaranteed to work on anonymous structures.

If o is null, the result is unspecified.

static deleteField (o:Dynamic, field:String):Bool

Removes the field named field from structure o-

This method is only guaranteed to work on anonymous structures-

If o or field are null, the result is unspecified-

static field (o:Dynamic, field:String):Dynamic

Returns the value of the field named field on object o-

If o is not an object or has no field named field, the result is null-

If the field is defined as a property, its accessors are ignored- Refer to Reflect.getProperty for a function supporting property accessors.

If field is null, the result is unspecified.

(As3) If used on a property field, the getter will be invoked. It is not possible to obtain the value directly.

static fields (o:Dynamic):Array<String>

Returns the fields of structure o.

This method is only guaranteed to work on anonymous structures. Refer to Type.getInstanceFields for a function supporting class instances.

If o is null, the result is unspecified.

static getProperty (o:Dynamic, field:String):Dynamic

Returns the value of the field named field on object o, taking property getter functions into account-

If the field is not a property, this function behaves like Reflect.field, but might be slower.

If o or field are null, the result is unspecified.

static hasField (o:Dynamic, field:String):Bool

Tells if structure o has a field named field-

This is only guaranteed to work for anonymous structures- Refer to Type.getInstanceFields for a function supporting class instances.

If o or field are null, the result is unspecified.

static isEnumValue (v:Dynamic):Bool

Tells if v is an enum value-

The result is true if v is of type EnumValue, i-e- an enum constructor-

Otherwise, including if v is null, the result is false-

static isFunction (f:Dynamic):Bool

Returns true if f is a function, false otherwise-

If f is null, the result is false-

static isObject (v:Dynamic):Bool

Tells if v is an object-

The result is true if v is one of the following:

Otherwise, including if v is null, the result is false-

static makeVarArgs (f:Array<Dynamic> ‑> Dynamic):Dynamic

static makeVarArgs (f:Array<Dynamic> ‑> Void):Dynamic

Transform a function taking an array of arguments into a function that can be called with any number of arguments-

static setField (o:Dynamic, field:String, value:Dynamic):Void

Sets the field named field of object o to value value-

If o has no field named field, this function is only guaranteed to work for anonymous structures-

If o or field are null, the result is unspecified-

(As3) If used on a property field, the setter will be invoked- It is not possible to set the value directly-

static setProperty (o:Dynamic, field:String, value:Dynamic):Void

Sets the field named field of object o to value value, taking property setter functions into account-

If the field is not a property, this function behaves like Reflect.setField, but might be slower.

If field is null, the result is unspecified.

© 2005–2016 Haxe Foundation
Licensed under a MIT license.
http://api.haxe.org/Reflect.html

在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号

意见反馈
返回顶部