interface ICommandHandler<T> {
type: string // how to ensure string == T.name ?
handle(command: T): void;
}
interface ICommand {}
class CreateTaskCommand implements ICommand{}
class CreateTaskCommandHandler implements ICommandHandler<CreateTaskCommand> {
type = "CreateTaskCommanD" // typo
handle(command: CreateTaskCommand) {}
}
我的目标是确保type
属性等于CreateTaskCommand
中的CreateTaskCommandHandler
字符串。
我先前的示例没有引发打字错误。