2013-02-09 66 views
0

這可能嗎?帶開放式構造函數參數的參數屬性聲明

什麼我現在有什麼工作:

module app.typescriptdemoview { 
    export class InitializeAutoComplete { 
     constructor(... _inputIds: string[]) { 
     // Initialize _inputIds as a member variable .. 
     } 
    } 
} 

我想什麼來實現:

module app.typescriptdemoview { 
    export class InitializeAutoComplete { 
     constructor(private ... _inputIds: string[]) { // Automatic member var. initialization 
     } 
    } 
} 
+0

我不確定我是否理解你的問題,但如果你刪除了'...'部分,那將起作用。 – JohnnyHK 2013-02-09 14:48:35

+0

@JohnnyHK在構造函數參數前面添加一個範圍關鍵字會自動將其初始化爲一個類成員變量,而無需手動編寫(例如)this._inputIds = _inputIds;我想使用該功能結合開放式結構構造函數參數(...語法)。 – Dante 2013-02-10 02:23:16

+0

啊,現在我明白你想要做什麼了;抱歉,因爲很厚。不幸的是,似乎不可能。 – JohnnyHK 2013-02-10 03:30:59

回答

1

這是目前不可能,所以你被卡住手動分配它。編譯器需要更改才能自動執行此操作。

class Test { 
    private _args: string[]; 
    constructor (...args: string[]) { 
     this._args = args; 
    } 
}