我的类层次结构如下所示:
interface TypeI {
getName(): string;
}
class ClassA implements TypeI{
static name: string = "A"
getname(){
return ClassA.name;
}
}
class ClassB implements TypeI{
static name: string = "B"
getname(){
return ClassB.name;
}
}
是否可以在typescript中创建实现TypeI的类型的Dictionary?像这样:
var typedDictionary: { [<T extends TypeI>] : T };
typedDictionary[ClassA] = new ClassA();
var a: ClassA = typedDictionary[ClassA];
答案 0 :(得分:1)
在typescript中实现TypeI的类型字典?
javascript 中对象的键只能是字符串。如果传入的内容不是字符串,则会调用toString
。所以不,您不能将T
类型作为关键字...只有string
。
然而,您可以在类中对其进行抽象,这类似于通用词典:https://github.com/basarat/typescript-collections#a-sample-on-dictionary