-
Notifications
You must be signed in to change notification settings - Fork 0
API Host BondingGetter
Liu.Yandong.Hanks edited this page Aug 26, 2026
·
4 revisions
ClrGetterDelegate 的脚本对象包装器。
命名空间:AuroraScript.Runtime.Types。类型:class。
BondingGetter 将宿主计算的值暴露为脚本属性。每次读取都会调用包装的 ClrGetterDelegate,该委托写入 ref 结果槽,因此值可以按需生成,而非预先存储。
BondingGetter 的最小用法。
ClrGetterDelegate answer = (
ScriptObject target,
ref ScriptDatum result) =>
{
result = ScriptDatum.FromNumber(42);
};
var getter = new BondingGetter(answer);BondingGetter(ClrGetterDelegate callback)将宿主 getter 委托包装为脚本可读的值。
参数
| 名称 | 类型 | 必需 | 说明 |
|---|---|---|---|
callback |
ClrGetterDelegate |
是 | 每次读取时由运行时调用的回调。 |
返回值
新的 BondingGetter 实例。
var getter = new BondingGetter(answer);string Name向脚本报告的 getter 名称。
参数
无。
返回值
返回 string。
Console.WriteLine(getter.Name);void Invoke(ScriptObject @object, ref ScriptDatum result)为所提供对象调用包装的 getter。
参数
| 名称 | 类型 | 必需 | 说明 |
|---|---|---|---|
object |
ScriptObject |
是 | 读取属性的对象。 |
result |
ref ScriptDatum |
是 | 接收读取值的槽。 |
返回值
无。
行为
运行时通常在属性访问时调用 Invoke;宿主仅在脚本执行之外读取值时才直接调用它。
var result = ScriptDatum.Null;
getter.Invoke(hostObject, ref result);AuroraScript.JIT 4.0.0 · 文档首页 · 仓库 · MIT License