gpt4 book ai didi

typescript - 是否可以将 TypeScript 装饰器应用于类中的所有字段?

转载 作者:搜寻专家 更新时间:2023-10-30 21:01:14 25 4
gpt4 key购买 nike

我一直在摆弄 Typescript 中的装饰器,我有一个简单的问题,假设我有一个名为 RetainType 的自定义装饰器和一个像这样的类:

class Person {
@RetainType name: string;
@RetainType age: number;
@RetainType dateOfBirth: Date;
}

我希望能够写:

@RetainType class Person {
name: string;
age: number;
dateOfBirth: Date;
}

换句话说,有什么方法可以将装饰器应用于类中的所有属性?我使用 @RetainType 发出有关各个属性的元数据(特别是设计:类型)。如果有一种比一一注释所有字段更简洁的方法来完成这项工作,那就太好了。

最佳答案

属性装饰器应用于一个属性。它什么都不返回,只是用相关属性做一些事情。

类装饰器应用于类构造函数。所以它应该返回用某些功能替代普通构造函数的函数。

在类装饰函数中,您可以做任何事情——甚至可以枚举所有类属性并以预期的方式装饰它们。因此,如果编写额外的代码,您可以做您想做的事。但是您不能在不更改属性装饰器的情况下将其用作类装饰器。它只是行不通。

关于typescript - 是否可以将 TypeScript 装饰器应用于类中的所有字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39003107/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com