Repository navigation
API Host AuroraNativeObject
Liu.Yandong.Hanks edited this page Aug 29, 2026
·
6 revisions
宿主定义的可实例化脚本对象基类。原生字段与方法由生成的重写分派;实例使用普通 Object 原型。
命名空间:AuroraScript.Runtime.Types。类型:abstract class,继承自 ScriptObject。
派生类型需要标注 [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 · 文档首页 · 仓库 · MIT License
- 宿主集成
- 脚本原生类型
- .NET 宿主 API 参考
- 引擎与执行
- 编译配置
- 源解析
- 脚本原生类型
- NativeTypeAttribute
- NativePackageAttribute
- ExportAttribute
- ReceiverExportAttribute
- AuroraExportValueKind
- AuroraParamAttribute
- AuroraGeneratedExportAttribute
- AuroraGeneratedConstantAttribute
- MatchFailure
- MatchLevel
- IAuroraNativeInstance
- INativeTypedDocument
- AuroraNativeObject
- AuroraNativeObjectAttribute
- 运行时值
- ScriptDatum
- ValueKind
- ScriptObject
- ScriptArray
- ScriptType
- TypeAccess
- ObjectFlags
- NumberValue
- Int64Value
- UInt64Value
- StringValue
- BooleanValue
- NullValue
- ScriptDate
- ScriptError
- ScriptHashMap
- ScriptRegex
- ScriptProxy
- StringBuffer
- ScriptEnumerator
- ScriptFunctionDelegate
- ScriptMethodDelegate
- ClosureFunction
- CLR 互操作
- 宿主 TDoc
- 扩展包
- 序列化与调试
- 异常与诊断