C#使用TypeGen生成TypeScript类,并设置[inverable]=true



我们使用TypeGen从C#类生成TypeScript类。

它是这样工作的:

[ExportTsClass]
public class MyClass
{
public int MyProperty { get; set; }
public string MyField { get; set; }
public string MyProperty2 { get; set; }
}

生成:

export class MyClass {
myField: string;
myProperty: number;
myProperty2: string;
}

https://typegen.readthedocs.io/en/latest/whatisgenerated.html

这非常有效,但我们现在已经开始将ImmerReact Redux一起使用。为了使类工作,它需要像下面的任何示例一样设置[immerable] = true

import {immerable} from "immer"
class Foo {
[immerable] = true // Option 1
constructor() {
this[immerable] = true // Option 2
}
}
Foo[immerable] = true // Option 3

https://immerjs.github.io/immer/docs/complex-objects

这是否可以通过TypeGen生成?

import {immerable} from "immer"
export class MyClass {
[immerable] = true
myField: string;
myProperty: number;
myProperty2: string;
}

我看了所有的TypeGen attributes,但没有发现任何有效的东西。TsTypeAttribute可以走很长的路,但不知道如何解决immerable周围的括号。

https://typegen.readthedocs.io/en/latest/attributes.html#tstypeattribute

这样解决:

import MyClass from "../MyClass";
import { immerable } from "immer";
export class ImmerMyClass extends MyClass {
[immerable] = true;
}

最新更新