【发布时间】:2021-10-24 09:12:55
【问题描述】:
我有一个抽象类,例如:
export abstract class CsvFileReader<T> {
data: T[] = []
constructor(public file: string) {}
abstract mapRow(row: string[]): T
read() {
this.data = this.file
.split('\n')
.map((row: string): string[] => {
return row.split(',')
})
.map(this.mapRow)
}
}
以及在抽象类之上扩展的类:
type matchData = [Date, string, string, number, number, MatchResualts, string]
export class MatchReader extends CsvFileReader<matchData> {
mapRow(row: string[]): matchData {
return [
dateStringToDate(row[0]),
row[1],
row[2],
+row[3],
+row[4],
row[5] as MatchResualts,
row[6],
]
}
}
我像这样创建阅读器:
const reader = new MatchReader(Matches)
但我收到此错误:通用类型“CsvFileReader”需要 1 个类型参数。
有什么办法吗?
【问题讨论】:
-
我不确定这是否有帮助,但我将您的代码(仅没有
exports 和未知的dateStringToDate和MatchResualts项目,以及虚拟文件内容)放入TypeScript Playground,然后它可以毫无问题地编译和运行。这是我使用的代码:pastebin.com/5xFBfedZ
标签: javascript typescript