编组总览 — 默认规则矩阵
规范性: 未标注 [LuaMarshalAs](或标注为 LuaMarshalType.Default)时,各 CLR 类型在 C# ↔ Lua 双向调用中的默认编组。
`[LuaMarshalAs]` 与 `LuaMarshalType`
规范性: 参数、返回值、字段、属性及类型(class / struct)上的编组覆盖规则。
`ref` / `in` / `out` 编组
规范性: byref 形参(元素类型记为 A)在 C# ↔ Lua 双向调用中的编组语义。
OpaqueValue(临时不透明参数)
规范性: C# 调用 Lua 时,将形参/局部在 C# 调用栈上的存储地址暴露给脚本的临时令牌;以及 [LuaMarshalAs(OpaqueValue)] 强制路径。
Struct 编组
规范性: C# struct(值类型)与 Lua 互操作的传递、构造与写回规则。
Class / Interface 编组
规范性: 引用类型(class、interface、string、数组实例、delegate 实例等)在 Lua 与 C# 之间的默认编组规则。
数组编组
规范性: 一维向量数组(szarray)、多维数组(mdarray)及 byte[] 在 Lua 与 C# 之间的编组规则。
枚举编组
规范性: C# enum 在 Lua 与 C# 之间的默认编组规则。
Delegate / 函数编组
规范性: C# Delegate 与 Lua 函数之间的双向编组。
指针与不支持类型
规范性: 非托管指针、函数指针、以及 v1 默认不支持或受限的 CLR 形态之编组规则。
编组规范(`spec/marshal/`)
规范性: C# ↔ Lua 值在栈上的形态与转换规则。