1
我想不通爲什麼我得到了這樣的錯誤:接口簽名不匹配
export interface IGrid {
(gridCell: GridCell): boolean
}
在我的課堂我有
foo(gridCell: GridCell): boolean {
return true;
}
錯誤:
Class 'X' incorrectly implements interface 'IGrid'. Type 'X' provides no match for the signature '(gridCell: GridCell): boolean'
更新:
我已經爲接口的gridFormat簽名添加了一個參數。
export interface IGrid {
gridFormat(gridCell: GridCell, x: number): boolean
}
類:
gridFormat(gridCell: GridCell): boolean {
return true;
}
現在的問題是沒有錯誤,類沒有實現與x: number
放慢參數的功能。我怎樣才能讓界面正確地要求功能。
好吧,這工作,但我還是不能讓我的接口工作如何我想它。我已經更新了這個問題。簽名不匹配,但沒有錯誤。 –
@el_pup_le這實際上是由設計。參見[此](https://stackoverflow.com/questions/35541247/typescript-not-checking-function-argument-types-declared-by-interfaces)和[此](https://github.com/Microsoft/ TypeScript/wiki/FAQ#why-are-functions-with-less-parameters-assignable-to-functions-that-take-more-parameters) – Saravana
謝謝,這很令人沮喪。我看你是C#的人,你知道C#是否被設計成這樣嗎? –