簡體   English   中英

使用Typescript中的另一個泛型類型約束泛型類型

[英]Constrain generic type using another generic type in Typescript

我有一些基類:

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> {}

問題是 :我能以某種方式從BaseController消除E嗎?

當我在ArticleController聲明SArticleService就足夠了ArticleService已定義為擴展BaseService<Article> 我不在ArticleController使用Article ,它只是為了滿足服務定義。

您可以刪除E並使用S extends BaseService<any> 您不在任何地方使用此類型信息,因此完全可以。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM