如何使用 Typescript 1.4.0 获取对象属性的类型。
我正在寻找类似于 C# 的东西,它可以查找对象的属性。
var properties = typeof(T).GetProperties();
foreach( var property in properties){}
到目前为止,我所拥有的是:
var ls = ts.createLanguageService(host, ts.createDocumentRegistry())
var nav = ls.getNavigationBarItems(host.fileName);
给定示例接口:
interface Example {
firstname: string;
lastname: string;
age: string;
}
TypeScript 语言服务返回结果:
{
"NavigationBarItems":[
{
"text":"Example",
"kind":"interface",
"kindModifiers":"",
"spans":[
{
"start":0,
"length":83
}
],
"childItems":[
{
"text":"age",
"kind":"property",
"kindModifiers":"",
"spans":[
{
"start":69,
"length":12
}
],
"childItems":[
],
"indent":0,
"bolded":false,
"grayed":false
},
{
"text":"firstname",
"kind":"property",
"kindModifiers":"",
"spans":[
{
"start":24,
"length":18
}
],
"childItems":[
],
"indent":0,
"bolded":false,
"grayed":false
},
{
"text":"lastname",
"kind":"property",
"kindModifiers":"",
"spans":[
{
"start":47,
"length":17
}
],
"childItems":[
],
"indent":0,
"bolded":false,
"grayed":false
}
],
"indent":0,
"bolded":false,
"grayed":false
}
]
}
我缺少的信息是类型 (string,number,Map<>,any) 以及它是否是数组或对象,例如
"text":"lastname",
"kind":"property",
"type":"string", //string,number,Map<>,any
任何想法如何实现这一目标?
非常感谢您的帮助。