Generics 类型脚本与泛型和继承有关。什么';怎么了?
我正在尝试为我当前的项目构建一些基类。当前我收到以下编译器错误: 类型“IConcreteScope”不满足类型参数“TScope扩展了IentyScope”的约束“IentyScope” 当我尝试运行此代码时:Generics 类型脚本与泛型和继承有关。什么';怎么了?,generics,inheritance,typescript,Generics,Inheritance,Typescript,我正在尝试为我当前的项目构建一些基类。当前我收到以下编译器错误: 类型“IConcreteScope”不满足类型参数“TScope扩展了IentyScope”的约束“IentyScope” 当我尝试运行此代码时: // scope export interface IScope { context: any; } export class ContextBase<TScope extends IScope> { scope: TScope; } // entity
// scope
export interface IScope {
context: any;
}
export class ContextBase<TScope extends IScope> {
scope: TScope;
}
// entity
export interface IEntity {
id: string;
}
export interface IEntityScope<TEntity extends IEntity> extends IScope {
entity: TEntity;
}
export class EntityContextBase<TEntity extends IEntity, TScope extends IEntityScope<TEntity>> {
operation(entity: TEntity) {...}
}
// concrete
export interface IConcreteEntity extends IEntity {
name: string;
}
export interface IConcreteScope extends IEntityScope<IConcreteEntity> {
someprop: boolean;
}
// this is the problem: EntityContextBase<IConcreteEntity,IConcreteScope>
export class ConcretContext extends EntityContextBase<IConcreteEntity,IConcreteScope> {
}
//范围
导出接口IScope{
背景:任何;
}
导出类上下文库{
经营范围:TScope;
}
//实体
导出接口的可扩展性{
id:字符串;
}
导出接口IEntityScope扩展了IScope{
实体:张力;
}
导出类EntityContextBase{
操作(实体:tenty){…}
}
//混凝土
导出接口IConcreteEntity扩展了{
名称:字符串;
}
导出接口IContracteScope扩展了EntityScope{
someprop:布尔;
}
//这就是问题所在:EntityContextBase
导出类ConcretContext扩展EntityContextBase{
}
这里是到TypeScript的链接
我做错了什么?代码很好;这是编译器中的一个bug。这在开发分支的最新源代码中编译无误。代码很好;这是编译器中的一个bug。这在开发分支的最新源代码中编译时没有错误。我认为代码实际上是正确的,并且编译器在EntityContextBase的某个地方感到困惑。就像它忘记了十分之二是同一件事。这不是一个容易理解的结构。我认为代码实际上是正确的,并且编译器在EntityContextBase中的某个地方感到困惑。就像它忘记了十分之二是同一件事。这不是一个容易理解的结构。