我有一个 TypeScript 中的小类,其中一些公共字段被修饰:
class Company {
@dataMember
public name: string;
@dataMember
public people: Person[];
}
class Person {
// ...
}
通过使用反射元数据,我可以确定公司属性名称和人员的类型:它们分别是构造函数String和Array,这是可以预期和合理的。
我的属性装饰器函数:
function decorate(target: Object, propertyKey: string | symbol): void {
var reflectType = Reflect.getMetadata("design:type", target, propertyKey);
// ...
}
但是我如何确定数组元素的类型(构造函数)呢?这个可能吗?在上面的例子中,它应该是(对)Person的引用。
注意:我需要实例化之前的类型引用,因此使用数组项动态确定类型是不可能的:没有数组项,甚至没有数组实例。