2014-12-31 51 views
3

我正在尋求在.d.ts文件中創建類聲明的指導。工廠功能的TypeScript定義

類有一個接受的typeof T和返回T.

+0

看看的'WidgetFactory'示例http://www.typescriptlang.org/Handbook#writing-dts-files-examples。如果你已經有了工廠方法的類的'.ts'代碼,那麼只需使用'tsc'編譯器的'--declaration'命令行選項,它就會吐出'.d.ts'檔案給你 – xmojmr

回答

10

的一個實例,你需要的東西是可創建然後將其一帆風順的方法:

interface Creator<T> { 
    new(): T; 
} 
function factory<T>(arg: Creator<T>): T { 
    return new arg(); 
} 


// Usage: 
class Foo { 
    something = 123; 
} 
var foo = factory(Foo); // foo:Foo