在编译时检查javascript / typescript对象是否与C#对象相对应

时间:2018-11-17 06:09:29

标签: javascript c# typescript compile-time strong-typing

我们正在用C#和UI在React + Typescript中开发Web API RESTful服务。

在C#REstAPI模型中重命名/添加/删除了一些属性后,Web UI停止工作,因为我忘记了在UI中重命名。

还有,对我来说,几乎不可能找到所有此类对象的API调用。

我想配置强类型,经过编译的时间检查系统,将打字稿对象以某种方式映射到C#对象,然后编译器将对其进行检查。

我可以想象我(程序员)会用一些元数据(C#名称空间和类名)标记javascript / typescript对象。

我该怎么做。

1 个答案:

答案 0 :(得分:1)

解决此问题的关键是将一个级别抽象为可配置的多语言定义。根据该定义,您将能够生成c#和typescript对象定义。两个主要的类型描述性选项分别是Google / Microsoft的ProtosOpenApi

这使您的工作流程变为:

  1. 更改类型配置。
  2. 将类型配置构建到C#和Typescript定义中。
  3. 构建C#和Typescript库。

这可以确保对象定义始终保持同步,因为C#和Typescript库可以直接依赖于自动生成的代码。