我的结构如何?
namespace DataProviders
{
export function SomeExportFunction<T>(myConstructor: { new (): T; MappingOptions?: any; }): T[]
{
//getting "SomeClass" as a string from "someModuleOrNameSpace.SomeClass" which should be somewhere in "myConstructor"(parameter)
}
}
如何使用?
this.Something=SomeNamespace.SomeExportFunction(someModuleOrNameSpace.SomeClass);
我尝试myConstructor.constructor.toString().match(/\w+/g)[1];
这将返回Function
,我需要SomeClass
。
根据这篇文章Get an object's class name at runtime in TypeScript。
那么如何获得myConstructor
的班级名称?
答案 0 :(得分:1)
它与您链接的主题完全相同,但有一个例外,即您需要来自类的名称而不是实例。
所以这个:
myConstructor.constructor.toString().match(/\w+/g)[1];
应该是:
myConstructor.toString().match(/\w+/g)[1];
如果myConstructor
是一个实例,则myConstructor.constructor
将成为该类。在你的情况下,这一步骤是减少的。