天软金融分析.NET函数大全 > TSL函数 > 系统相关函数 > 表达式相关函数

Invoke    

简述
调用类的成员方法或对类的成员变量进行赋值操作。支持对重载方法的调用。
定义
Invoke(Obj: TSLObject; MemberName:String; MemberValue: Boolean;[P1…Pn:Any]):any
参数
名称类型说明
Obj TSLObjectTSLObject,实例对象
MemberNameString字符串(小写),成员(方法或属性)的名称
MemberValue Boolean布尔,成员类型,0:成员方法,1:成员属性
P1任意值,成员属性时需要赋的值或成员方法时的第一个参数
Pn任意值,成员方法的第n个参数
返回any任意值,若为成员属性则返回0,若调用的是成员方法则返回成员方法的执行结果。
  • 范例

    范例01:设置成员变量后调用成员方法并返回结果
      obj := new classTest();
      //设置成员变量name的值为"张三"
      invoke(obj,"name",1,"张三");
      //设置成员变量age的值为18
      invoke(obj,"age",1,18);
      //设置成员变量sid的值为"ts001"
      invoke(obj,"sid",1,"ts001");
      //执行单参数重载成员方法fun
      a:=invoke(obj,"fun",0,"name");
      //执行双参数重载成员方法fun
      b:=invoke(obj,"fun",0,"name","age");
      //执行三参数重载成员方法fun
      c:=invoke(obj,"fun",0,"name","age","studentID");
    return array(a,b,c);
    type classTest = class
      name;
      age;
      sID;
      function fun(a);overload;
      begin
        s:= "\r\n"+a+":"+name;
        echo s;
        return s;
      end
      function fun(a,b);overload;
      begin
        s:="\r\n"+a+":"+name+" "+b+":"+floattostr(age);
        echo s;
        return s;
      end
      function fun(a,b,c);overload;
      begin
        s:="\r\n"+a+":"+name+" "+b+":"+floattostr(age)+" "+c+":"+sID;
        echo s;
        return s;
      end
    end

    打印:
    返回:
    参考
    Invokeinarray 
相关