假设我们有一个如下所示的枚举:
export enum HeroActionEnum {
STRIKE = 'strike',
HIDE = 'hide',
RUN = 'fly',
TACKLE = 'tackle',
}
现在我们创建一个新类,其属性具有与HeroActionEnum
中表示的键完全相同的键。
export class Hero {
[HeroActionEnum.STRIKE]: EventEmitter<void>;
[HeroActionEnum.HIDE]: EventEmitter<void>;
[HeroActionEnum.RUN]: EventEmitter<void>;
[HeroActionEnum.TACKLE]: EventEmitter<void>;
...
}
DRY原则对此并不满意。我实际上想总结一下这些键:
export class Hero {
[key in HeroActionEnum]: EventEmitter<void>;
...
}
我尝试了很多,但是到目前为止我什么都没做。预先感谢您的帮助!