-
Notifications
You must be signed in to change notification settings - Fork 0
API Host ClrTypeRegistry
ClrTypeRegistry and TypeAccess
Overview
ClrTypeRegistry 将脚本别名映射到 CLR 类型。注册等同于向脚本授予能力,因此只应注册经过审查的类型,并以最小 TypeAccess 暴露成员。
ClrTypeRegistrymaps script aliases to CLR types. Registration grants capability to scripts, so register reviewed types only and expose the smallest suitableTypeAccess.
Parameters:
-
type
CLR 类型。CLR type.
-
alias
脚本可见别名。Script-visible alias.
-
access
允许的构造器/静态访问范围。Allowed constructor/static access.
Returns
无。
None.
engine.ClrRegistry.RegisterType(typeof(HostCalculator), "Calculator", TypeAccess.All);Parameters:
-
alias
要移除的脚本别名。Script alias to remove.
Returns
是否移除了注册项。
Whether a registration was removed.
var removed = engine.ClrRegistry.UnregisterType("Calculator");Parameters:
-
alias
脚本别名。Script alias.
-
descriptor
接收ClrType描述符。Receives the
ClrTypedescriptor.
Returns
是否找到注册项。
Whether a registration exists.
if (engine.ClrRegistry.TryGetClrType("Calculator", out var descriptor))
{
Console.WriteLine(descriptor);
}Parameters:
- 无。
None.
Returns
无。
None.
用途
释放 Registry 生命周期资源;通常由拥有它的 Engine 生命周期统一管理。
Releases registry-lifetime resources; normally managed with the owning engine's lifetime.
engine.ClrRegistry.Dispose();-
Constructor
仅构造器。Constructors only.
engine.RegisterType<HostCalculator>("Calculator", TypeAccess.Constructor); -
Static
仅静态成员。Static members only.
engine.RegisterType<HostMath>("HostMath", TypeAccess.Static); -
All
构造器与静态成员。Constructors and static members.
engine.RegisterType<HostCalculator>("Calculator", TypeAccess.All);
实例成员只能来自成功构造或宿主注入的实例。
Instance members are available only from successfully constructed or host-injected instances.
AuroraScript.JIT 4.0.0 · Documentation Home · Repository · MIT License