是否有相当于C#'的打字脚本;s属性

是否有相当于C#'的打字脚本;s属性,c#,typescript,custom-attributes,C#,Typescript,Custom Attributes,在C语言中,有一种语法可用于定义属性的属性 [Required] string personName 它描述了personName是必需的。通过反射,我们可以在任何给定的时间内获得属性的属性 我想知道TypeScript是否有这样的功能 我想知道TypeScript是否有这样的功能 装饰师就是这样。例如,mobx()使用它使事物变得可观察 当然,TypeScript中有装饰师。非常感谢。你让我开心@LukaŠilje请记住,装饰程序不提供.Net Relection之类的类型信息API@won

在C语言中,有一种语法可用于定义属性的属性

[Required]
string personName
它描述了personName是必需的。通过反射,我们可以在任何给定的时间内获得属性的属性

我想知道TypeScript是否有这样的功能

我想知道TypeScript是否有这样的功能

装饰师就是这样。例如,mobx()使用它使事物变得可观察


当然,TypeScript中有装饰师。非常感谢。你让我开心@LukaŠilje请记住,装饰程序不提供.Net Relection之类的类型信息API@wonea你到底在这里找什么?basarat的回答似乎足够清楚,他只是给出了一个库的示例,库代码不是魔法,你可以看看灵感,装饰器是TS功能,你可以自己阅读关于一个实现的内容。您是否正在寻找一个关于如何使用它们的特定示例?@TitianCernicova Dragomir我希望得到一个更详尽的答案,包括TypeScript如何用值[MyAttribute(“GetThisString”)]表示属性。我对这个答案以及公认的答案进行了投票,因为您链接了官方文档,您不能在接口、其成员或其他编译时类型声明上放置装饰器。所以,它们并不完全相同-
class TodoList {
    @observable todos = [];
    @computed get unfinishedTodoCount() {
        return this.todos.filter(todo => !todo.finished).length;
    }
}