zoukankan      html  css  js  c++  java
  • classidget获取object的id, 递归遍历所有方法 DictMethod | callObject | invokeObjectMethod

    public static anytype invokeObjectMethod(Object _object, identifiername _methodName, boolean _tryBaseClass = false)
    {
        DictClass  dictClass = new DictClass(classidget(_object));
        DictClass  dictClassBase;
        DictMethod dictMethod;
        int i;
    ;
        for (i=1; i<=dictClass.objectMethodCnt(); i++)
        {
            if (dictClass.objectMethod(i) == _methodName)
            {
                dictMethod = dictClass.objectMethodObject(i);
                if (dictMethod.parameterCnt() == 0)
                {
                    // invokeObjectMethod is listed as a dangerous API. Just suppress BP error;
                    // CAS is implemented by DictClass::callObject.

                    // BP deviation documented
                    return dictClass.callObject(_methodName, _object);
                }
                throw error(strfmt("@SYS87800", _methodName));
            }
        }

        if (_tryBaseClass && dictClass.extend())
        {
            dictClassBase = new DictClass(dictClass.extend());

            // BP deviation documented
            return SysDictClass::invokeObjectMethod(dictClassBase.makeObject(), _methodName, _tryBaseClass);
        }

        throw error(strfmt("@SYS60360", _methodName));
    }

  • 相关阅读:
    Python Scrapy框架
    Python Mongo数据库
    Python Selenium框架
    Python BeautifulSoup库使用
    Python 存入三大文件
    Python Xpath的解析,应用
    Python Requests 高级
    错误码:2003 不能连接到 MySQL 服务器在 (10061)
    MySQL连接本地数据库时报1045错误的解决方法
    iWebShop安装教程
  • 原文地址:https://www.cnblogs.com/perock/p/2294137.html
Copyright © 2011-2022 走看看