【问题标题】:Check in compile-time that javascript / typescript objects correspond to C# object在编译时检查 javascript / typescript 对象对应于 C# 对象
【发布时间】:2019-04-20 06:47:24
【问题描述】:

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

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

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

我想配置强类型,编译时间检查系统,打字稿对象将以某种方式映射到 C# 对象,编译器会检查它。

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

我该怎么做。

【问题讨论】:

  • 您是否尝试过编写自己的编译器? :)

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


【解决方案1】:

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

这使您的工作流程变为:

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

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

【讨论】:

    猜你喜欢
    • 2023-04-01
    • 2020-08-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-18
    • 2015-02-28
    • 1970-01-01
    相关资源
    最近更新 更多