[英]How set constraints on generic param of generic class in Typescript?
假設我有這樣的界面:
interface Identity<TValue> {
readonly value: TValue;
}
現在我想為此創建存儲
class IdentityStorage<TIdentity> {
}
但是我想為TIdentity
類型設置類型約束。 我該怎么做? 我已經嘗試過這樣的事情
class IdentityStorage<TIdentity extends Identity> {}
class IdentityStorage<TIdentity<TValue> extends Identity<TValue>> {}
但是它們都不起作用。 如何設置這種約束?
您可能要使用兩個類型參數,如:
class IdentityStorage<TValue, TIdentity extends Identity<TValue>> {}
這表示您想要的確切約束。 如果您願意放寬自己的約束條件,可以執行類似的操作
class IdentityStorage<TIdentity extends Identity<any>> {}
這也將起作用,但可能會允許您不需要的某些東西(取決於Identity<TValue>
多少個屬性取決於TValue
以及以哪種方式... TValue
,只有一個類型為TValue
屬性,所以這很好)
希望能有所幫助。 祝好運!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.