C# 使用 TypeGen 生成 TypeScript class 并设置 [immerable] = true
C# generate TypeScript class with TypeGen and set [immerable] = 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
这非常有效,但我们现在已经开始使用 Immer
和 React 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;
}
我们正在使用 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
这非常有效,但我们现在已经开始使用 Immer
和 React 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;
}