-
Notifications
You must be signed in to change notification settings - Fork 0
API Host BondingFunction
Liu.Yandong.Hanks edited this page Aug 26, 2026
·
4 revisions
ClrDatumDelegate 的脚本可调用包装器。
命名空间:AuroraScript.Runtime.Types。类型:class。
BondingFunction 将原始 ClrDatumDelegate 转换为脚本可以像调用任何其他函数一样调用的值。这是高级路径:委托接收脚本上下文、所属模块、参数 span 以及 ref 结果槽。
Tip
对于简单的宿主函数,将普通 CLR 委托传递给 ScriptGlobal.Define 通常更容易。
BondingFunction 的最小用法。
ClrDatumDelegate answer = (
ScriptContext ctx,
ScriptObject module,
Span<ScriptDatum> args,
ref ScriptDatum result) =>
{
result = ScriptDatum.FromNumber(42);
};
var function = new BondingFunction(answer);BondingFunction(ClrDatumDelegate callback)将宿主委托包装为脚本可调用的函数。
参数
| 名称 | 类型 | 必需 | 说明 |
|---|---|---|---|
callback |
ClrDatumDelegate |
是 | 由运行时调用的回调。 |
返回值
新的 BondingFunction 实例。
var function = new BondingFunction(answer);string Name向脚本报告的函数名称。
参数
无。
返回值
返回 string。
Console.WriteLine(function.Name);ScriptObject Target函数绑定的对象,未绑定时为 null。
参数
无。
返回值
返回 ScriptObject。
var target = function.Target;ClrDatumDelegate DatumMethod函数调用的底层宿主委托。
参数
无。
返回值
返回 ClrDatumDelegate。
var callback = function.DatumMethod;BondingFunction Bind(ScriptObject target)返回绑定到所提供目标对象的函数。
参数
| 名称 | 类型 | 必需 | 说明 |
|---|---|---|---|
target |
ScriptObject |
是 | 要绑定为调用目标的对象。 |
返回值
返回 BondingFunction。
var bound = function.Bind(hostService);AuroraScript.JIT 4.0.0 · 文档首页 · 仓库 · MIT License