如何更改默认构造函数?

How to change default constructor?

ServiceStack 根据我的后端 api 类 生成 typescript 代码。 那些打字稿 类 有默认的构造函数,看起来像这样。

export class ExamleClass
{
public constructor(init?:Partial<ExamleClass>) { (<any>Object).assign(this, init); }
}

由于 <any>Object 消息 "Prefer 'as any' instead of '' when doing type assertions" 有很多警告。如何解决?

在您的示例代码中,您不必进行任何转换,Object 只是一个 class,您调用的函数是静态的。

但如果你真的想做转换,请改用 (Object as any),因为使用 <> 可能会导致 JSX 文件(React 文件)发生冲突。

<type> 是用于转换对象的有效 TypeScript 语法,默认情况下在没有任何库引用的 TypeScript 项目中需要它,因为 Object.assign 不可用。

如果您升级到最新版本的 ServiceStack,它现在使用 as any 语法在其 TypeScript Add Reference 功能中进行转换:

public constructor(init?:Partial<ExamleClass>) { (Object as any).assign(this, init); }