【发布时间】:2014-05-11 17:07:11
【问题描述】:
在 C# 中,使用反射很容易在运行时获取类名。 在 TypeScript 中可以吗?
【问题讨论】:
标签: reflection typescript
在 C# 中,使用反射很容易在运行时获取类名。 在 TypeScript 中可以吗?
【问题讨论】:
标签: reflection typescript
在运行时,您正在运行 JavaScript。所以你可以查看这个answer了解详情。
这里有一个 hack 可以满足你的需要 - 请注意它会修改 对象的原型,人们不喜欢的东西(通常是好的 原因)
Object.prototype.getName = function() {
var funcNameRegex = /function (.{1,})\(/;
var results = (funcNameRegex).exec((this).constructor.toString());
return (results && results.length > 1) ? results[1] : "";
};
现在,您的所有对象都将具有 getName() 函数,该函数将 将构造函数的名称作为字符串返回。我已经在 FF3和IE7,其他的实现我就不说了。
【讨论】: