Skip to content

API Host AuroraNativeObject

Liu.Yandong.Hanks edited this page Aug 29, 2026 · 6 revisions

AuroraNativeObject

宿主定义的可实例化脚本对象基类。原生字段与方法由生成的重写分派;实例使用普通 Object 原型。

命名空间:AuroraScript.Runtime.Types。类型:abstract class,继承自 ScriptObject。

返回 .NET 宿主 API 参考 · 宿主原生导出

概述

派生类型需要标注 [AuroraNativeObject]。引用 AuroraScript.JIT 即会运行源生成器,补全属性协议重写、Datum 适配器、Register 方法以及编译器目录特性。不必再单独引用分析器包。

[AuroraNativeObject("Vec2")]
public sealed partial class Vec2 : AuroraNativeObject
{
    [AuroraExport("x")] public double X;

    public Vec2(double x) => X = x;
}

宿主也可以直接 new Vec2(3) 并以 ScriptDatum.FromObject(vec) 传入脚本。

构造函数

protected AuroraNativeObject()

备注

  • 不要把原生字段放进 HiddenClass 槽位;脚本额外添加的属性仍走普通对象路径。
  • 编译期已证明的局部以 CLR 类型存储;字段 ++/+= 与方法调用走直调。无法证明或被闭包捕获时回退动态协议。
  • typeof 返回 [AuroraNativeObject] 上声明的类型名。

参见

AuroraScript.JIT 4.0.0

入门

语言

脚本 API

宿主集成

工具

项目

Clone this wiki locally