Skip to content

API Host Extended

Liu.Yandong.Hanks edited this page Aug 19, 2026 · 3 revisions

Extended

用于读取 ScriptDatum Span 并检查运行时值标记的宿主回调帮助器。

Host callback helpers for reading ScriptDatum spans and checking runtime value flags.

命名空间:AuroraScript。类型:class。

Namespace: AuroraScript. Kind: class.

返回 .NET Host API 参考

用途

Extended 是公开宿主类型。通过下方签名选择调用方式;对运行时对象、生命周期和异常,应由宿主在边界处明确处理。

Host callback helpers for reading ScriptDatum spans and checking runtime value flags.

注意

这些帮助器主要用于 ClrDatumDelegate 或其他直接处理 ScriptDatum 的宿主回调。

These helpers are mainly useful inside ClrDatumDelegate or other raw ScriptDatum host callbacks.

简单示例

下面是 Extended 的最小使用方式。

A minimal use of Extended.

Span<ScriptDatum> args = [ScriptDatum.FromNumber(42)];

if (args.TryGetInt32(0, out var value))
{
    Console.WriteLine(value); // 42
}

成员

static bool Include(this ValueKind valueKind, ValueKind flag)

调用 Include 完成其公开操作。

Use the member according to its public signature.

Parameters:

  • valueKind
    按签名提供的 ValueKind 参数。

    The ValueKind parameter required by the signature.

  • flag
    要检查或应用的标志。

    Flag to inspect or apply.

Returns

返回 bool

Returns bool.

调用示意

以下示例展示调用形状;将占位实例和参数替换为宿主中的实际值。

The example shows the call shape; replace placeholder instances and arguments with actual host values.

var result = Extended.Include(/* valueKind */, /* flag */);

SpanReaders

签名

  • static bool TryGetNumber(this Span<ScriptDatum> source, int index, out double value)
  • static bool TryGetInteger(this Span<ScriptDatum> source, int index, out long value)
  • static bool TryGetInt32(this Span<ScriptDatum> source, int index, out int value)
  • static bool TryGetStrictNumber(this Span<ScriptDatum> source, int index, out double value)
  • static bool TryGetString(this Span<ScriptDatum> source, int index, out string value)
  • static bool TryGetObject(this Span<ScriptDatum> source, int index, out ScriptObject value)
  • static bool TryGetEnumerator(this Span<ScriptDatum> source, int index, out ScriptEnumerator value)
  • static bool TryGetFunction(this Span<ScriptDatum> source, int index, out ClosureFunction value)
  • static bool TryGetBoolean(this Span<ScriptDatum> source, int index, out bool value)
  • static bool TryGetRef(this Span<ScriptDatum> source, int index, ref ScriptDatum value)

调用 SpanReaders 完成其公开操作。

Use the member according to its public signature.

Parameters:

  • source
    要处理的脚本源码。

    Script source to process.

  • index
    要访问、移除或检查的零基索引。

    Zero-based index to access, remove, or inspect.

  • value
    要处理、保存或转换的值。

    Value to process, store, or convert.

Returns

由公开签名定义的返回值。

The value defined by the public signature.

调用示意

以下示例展示调用形状;将占位实例和参数替换为宿主中的实际值。

The example shows the call shape; replace placeholder instances and arguments with actual host values.

var result = Extended.SpanReaders(/* source */, /* index */, /* value */);

Clone this wiki locally