0
私はそれが動作するかもしれないことを私にするいくつかの例を見ましたが、私は働くために次を得ることができません。以下では、C
ジェネリックはクラスタイプを表し、I
ジェネリックはインターフェイスタイプを表します。ただし、return new SomeClass()
はType SomeClass is not assignable to type I
と不平を言います。一般的なタイスクリプトのインターフェイス
class SomeFactory implements ISomeFactory {
createSomeModule<C, I>(clas?: C, options?: IFactoryOptions): I {
switch (typeof (clas)) {
case 'SomeClass':
return new SomeClass();
...
}
}
}
これは私がしたいと思うように働くはずですか?何か不足していますか?それだけではサポートされていません。私はTypescriptバージョン2.10でVSコードを実行しています。
'typeof'は常に' 'object''を返します。 – SLaks
switch文は 'typeof'でうまく動作します。問題は '新しいSomeClass()'をジェネリックインターフェイス 'I'にキャストすることです。 – webteckie
タイプチェックを無効にするには、次のようにします: 'new Any SomeClass()をanyとして返す; ' – Paleo