Skip to content

执行 C# 函数

executeCsharp 接口用于执行已经通过 compileCsharp 编译注册的 C# 函数。

⏱️ 冷启动时间

首次执行时会有 50-200 毫秒的冷启动时间,后续调用无开销。

接口说明

接口类型

executeCsharp

参数

参数名类型必填说明
funidstring函数 ID(由 compileCsharp 返回)
argsobject传递给 C# 函数的参数对象

返回值

返回 C# 函数的执行结果,类型取决于 C# 函数的返回值。

基本使用

完整流程示例

javascript
// 1. 编译获取的函数ID
const funid = 'XXXXX';

// 2. 执行函数
const result = await apiInvoke("executeCsharp", {
    funid: funid,
    args: {
        inta: 10,
        floatb: 18.8,
        //可以引用魔法参数变量
        screenshot: "$.screenshot('deviceId')"
    }
});

console.log('运行结果:', result);

魔法参数变量

iClick 提供了特殊的魔法变量,可以在调用时动态获取系统数据。魔法变量以 $. 开头,在执行前会自动解析为实际数据。

可用的魔法变量

魔法变量说明返回类型用法示例
$.screenshot(deviceId)获取指定设备的实时屏幕截图byte[]"$.screenshot('P72578581E07')"

注意事项

⚠️ 重要提示

  1. 魔法变量使用规则

    • 魔法变量必须以字符串形式传递(如 "$.screenshot('id')"
    • 魔法变量会在执行前自动解析为实际数据
  2. funid 有效期

    • funid 在应用程序运行期间有效
    • 应用重启后需要重新编译
  3. 参数类型匹配

    • 传递的参数类型要与 C# 中的类型匹配
    • 注意数字类型的精度问题
  4. 内存管理

    • 及时释放 C# 中的非托管资源,任务处理完相关资源及时释放
    • 致命的代码缺陷可能导致iClick崩溃

商务合作:try.catch@foxmail.com