外部动态属性

时间:2014-10-30 17:35:36

标签: javascript socket.io haxe

我正在尝试升级Socket.IO extern,我遇到了问题。

到目前为止,要设置变量,他们使用

socket.set(key, val, callback);

但现在是

socket.key = val;

(请参阅GitHub上的问题)


我怎么能在Haxe中反映这种行为?

欢迎任何线索!

2 个答案:

答案 0 :(得分:2)

我建议使用内联函数:

public inline function set(key : String, value : Dynamic)  
  Reflect.setField(this, key, value);

答案 1 :(得分:1)

您还可以使用“using”关键字。

class SocketExtender {
    public static inline function set(socket:Socket, key:String, value:Dynamic):Void {
        Reflect.setField(socket, key, value);
    }
    public static inline function get(socket:Socket, key:String):Dynamic {
        Reflect.field(socket, key);
    }
}

然后通过导入添加“using com.my.package.SocketExtender;”,您的代码应该重新开始工作。