44 lines
1.0 KiB
Markdown
44 lines
1.0 KiB
Markdown
# Object - TSLObj
|
|
|
|
## `TSLObj`
|
|
|
|
声明:class
|
|
|
|
表示由 TSL 类创建或扩展插件注册的 TSL 对象类型
|
|
|
|
<!-- tags: 对象类型 对象 类 实例 TSLObj object -->
|
|
|
|
### `classInfo(n)`
|
|
|
|
声明:function
|
|
|
|
获取当前对象的类定义信息或类类型
|
|
|
|
<!-- tags: 对象 类信息 类型信息 反射 introspection TSLObj object -->
|
|
|
|
可见性:public
|
|
|
|
| 参数 | 类型 | 说明 |
|
|
| ---- | ------- | --------------------------------------------------------- |
|
|
| `n` | integer | 可选。传入 `1` 返回当前对象的类类型,省略时返回类定义信息 |
|
|
|
|
返回:array\|tclass
|
|
|
|
省略 `n` 时,返回结果包含 `classname`、`inherited`、`members`、`properties` 和 `subs` 字段
|
|
|
|
#### 示例
|
|
|
|
```tsl
|
|
obj := new ClassInfoProbe();
|
|
info := obj.classInfo();
|
|
echo info["classname"], "\n";
|
|
class_type := obj.classInfo(1);
|
|
restored := createObject(class_type);
|
|
echo restored is class(ClassInfoProbe), "\n";
|
|
|
|
type ClassInfoProbe = class
|
|
end;
|
|
// 输出:classinfoprobe
|
|
// 输出:1
|
|
```
|