bazı kamu alanları dekore ile ben, daktilo aşağıdaki küçük sınıf var:Yansıma API'sini kullanarak TypeScript'te dizi öğesi türünü nasıl alabilirim?
class Company {
@dataMember
public name: string;
@dataMember
public people: Person[];
}
class Person {
// ...
}
reflect metadata kullanarak, ben Firma özelliklerinin adı ve kişi türlerini belirleyebilirsiniz: bunlar yapıcı fonksiyonları vardır Beklenen ve mantıksal olan sırasıyla ve Dizisi.
Benim mülküm dekoratör fonksiyonu:function decorate(target: Object, propertyKey: string | symbol): void {
var reflectType = Reflect.getMetadata("design:type", target, propertyKey);
// ...
}
Ama nasıl elemanları dizinin türünü (yapıcı işlevi) belirleyebilir? Bu mümkün mü? Yukarıdaki örnekte, Person olmalıdır.
Not: Ben örnekleme önce tip referansı gerekir ve bu nedenle, dinamik dizi öğeleri kullanarak türünü belirlemek mümkün değildir: hayır dizi öğeler vardır, hatta bir Array örneği yoktur.