1
any
型パラメータを持つ別の関数を呼び出す汎用関数を作成しようとしています。これは私が試したものです:汎用型パラメータをパラメータとして使用する
static GetInstance<T>(): T {
return <T>injector.get(T); // get(param: any): any
}
問題はこれはコンパイルされません。私はCannot find name 'T'
エラーが発生しています。
私はget(typeof T)
を試しましたが、タイプTは文字列"function"
です。
どうすればよいですか?
説明のために:get()メソッドは型を受け入れます。たとえば、次のように使用できます。
import { MyService } from '..'
constructor(){
let val = this.injector.get(MyService);
}
値として型を使用することはできません。型を渡す必要がある場合は、次のようにします。 'get()' –
_get()メソッドは型を受け入れるかどうかわかりません:Typescriptインターフェイスではなく、コンパイルするTypescriptクラスですオブジェクト。 – pietro909
@ pietro909:クラスが実際に関数であると思うとき、get()が関数をパラメータとして受け入れると言うことができます。 get()は、指定された型をパラメータとして辞書コレクション内のキー値を検索します。 – dstr