字典表调用对象
DictTable CallObject
我正在使用以下代码动态执行对可能存在或不存在的 table 方法的调用。
但是,它总是 returns 执行代码时出错:myTableName table 没有方法 'myUpdateMethod'。
Dicttable dictTable;
Common common;
ExecutePermission perm;
perm = new ExecutePermission();
dictTable= new DictTable(tableName2Id('myTableName'));
if (dictTable != null)
{
common = dictTable.makeRecord();
// Grants permission to execute the
// DictTable.callObject method. DictTable.callObject runs
// under code access security.
perm.assert();
dictTable.callObject('myUpdateMethod', common);
}
// Close the code access permission scope.
CodeAccessPermission::revertAssert();
这些对象在不同的模型中,但为了好玩,我尝试在两个模型之间进行参考,看看它是否有所不同。它没有解决问题。
谢谢
将被调用的方法从静态更改为非静态。
开始工作,然后找到等效的 callStatic()。
这是我最终用于非静态方法的代码,它没有参数。
Dicttable dictTable;
Common common;
ExecutePermission perm;
perm = new ExecutePermission();
dictTable= new DictTable(tableName2Id('MyTableName'));
if (dictTable != null)
{
common = dictTable.makeRecord();
// Grants permissions
perm.assert();
if (dictTable.doesMethodExist('myMethodName'))
{
dictTable.callObject('myMethodName', common);
}
}
// Close the code access permission scope.
CodeAccessPermission::revertAssert();
我正在使用以下代码动态执行对可能存在或不存在的 table 方法的调用。
但是,它总是 returns 执行代码时出错:myTableName table 没有方法 'myUpdateMethod'。
Dicttable dictTable;
Common common;
ExecutePermission perm;
perm = new ExecutePermission();
dictTable= new DictTable(tableName2Id('myTableName'));
if (dictTable != null)
{
common = dictTable.makeRecord();
// Grants permission to execute the
// DictTable.callObject method. DictTable.callObject runs
// under code access security.
perm.assert();
dictTable.callObject('myUpdateMethod', common);
}
// Close the code access permission scope.
CodeAccessPermission::revertAssert();
这些对象在不同的模型中,但为了好玩,我尝试在两个模型之间进行参考,看看它是否有所不同。它没有解决问题。
谢谢
将被调用的方法从静态更改为非静态。
开始工作,然后找到等效的 callStatic()。
这是我最终用于非静态方法的代码,它没有参数。
Dicttable dictTable;
Common common;
ExecutePermission perm;
perm = new ExecutePermission();
dictTable= new DictTable(tableName2Id('MyTableName'));
if (dictTable != null)
{
common = dictTable.makeRecord();
// Grants permissions
perm.assert();
if (dictTable.doesMethodExist('myMethodName'))
{
dictTable.callObject('myMethodName', common);
}
}
// Close the code access permission scope.
CodeAccessPermission::revertAssert();