我有一些基类:
class BaseService<E> {
constructor(protected entity: E) {}
}
class BaseController<E, S extends BaseService<E>> {
constructor(protected service: S) {}
}
然后,我有一个以上类的具体实例:
class ArticleService extends BaseService<Article> {}
class ArticleController extends BaseController<Article, ArticleService> {}
问题是:我可以以某种方式从E
中删除BaseController
吗?
当我在ArticleController
中声明S
为ArticleService
时,就足够了-ArticleService
已被定义为扩展BaseService<Article>
。我没有在Article
中使用ArticleController
,它只是为了满足服务定义。
答案 0 :(得分:0)
您只需删除E
并使用S extends BaseService<any>
。您不在任何地方使用此类型信息,因此完全可以。