Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# NSwag Typescript代理自定义属性批注/装饰器_C#_Angular_Typescript_Asp.net Core_Nswag - Fatal编程技术网

C# NSwag Typescript代理自定义属性批注/装饰器

C# NSwag Typescript代理自定义属性批注/装饰器,c#,angular,typescript,asp.net-core,nswag,C#,Angular,Typescript,Asp.net Core,Nswag,我使用NSwag.CodeGeneration.Typescript从.net内核后端和swagger.json生成angular 2 Typescript代理。这很有魅力 现在,我希望能够为我的typescript客户端自动生成自定义装饰器。大概是这样的: C级: 生成的typescript代理 class Point { private _x: number; private _y: number; constructor(data?: any) { // set data } @

我使用NSwag.CodeGeneration.Typescript从.net内核后端和swagger.json生成angular 2 Typescript代理。这很有魅力

现在,我希望能够为我的typescript客户端自动生成自定义装饰器。大概是这样的:

C级:

生成的typescript代理

class Point {
private _x: number;
private _y: number;
constructor(data?: any) {
    // set data
}

@configurable(false)
get x() { return this._x; }

@configurable(false)
get y() { return this._y; }
}
…具有自定义装饰器功能

function configurable(value: boolean) {
    return function (target: any, propertyKey: string, descriptor: PropertyDescriptor) {
        descriptor.configurable = value;
    };
}

这是我第一个大摇大摆的项目,所以我不完全确定从哪里开始。非常感谢您的帮助。

目前,您只能将扩展数据添加到swagger规范中。使用代码生成器生成更多属性并不容易。。。我正在进行一些模板改进,以便您可以自定义TPL。请在github上创建一个问题,以便我们可以在那里跟踪…谢谢@ricoster。听起来不错。如果有人需要,我们创建了一个元数据服务,根据类名告诉您哪些属性具有哪些注释。到目前为止效果很好。Iama这个问题已经产生了吗@Rico Suter:关于这个特性有什么好消息吗?模板中有扩展点,例如提供附加属性。请查看njsonschema或nswag wiki
function configurable(value: boolean) {
    return function (target: any, propertyKey: string, descriptor: PropertyDescriptor) {
        descriptor.configurable = value;
    };
}