c# - 如何在 C# 中创建类似 String Literal Union 类型的 TypeScript
问题描述
我在 C# 中使用一些 JSON 和 API。我想知道如何处理这样的事情。
JSON 值之一是可以是以下值之一的字符串:“Last_Day”、“Last_Week”、“Last_Month”。
在 TypeScript 中,我可以这样做:
type DateSince = "Last_Day" | "Last_Week" | "Last_Month"
然后我得到这样的类型提示:
如果值不是这 3 个字符串,我会收到红色的波浪线错误。从技术上讲,我的值仍然是一个字符串,这是我需要与 JSON API 请求和响应一起使用的值。
我还没有找到在 C# 中执行此操作的好方法。甚至有可能在 C# 中相对容易地做到这一点吗?
我理想的解决方案是让我将自定义类型分配给变量,而不是使用字符串。这样我就不必记住可能的字符串值。
解决方案
在 C# 中,您可以使用枚举。
public enum DateSince
{
Last_Day ,
Last_Week,
Last_Month
}
用法:
var datesince = DateSince.Last_Day;
推荐阅读
- kubernetes - kubernetes 标签名称 63 个字符限制
- sql-server - 在 sql 视图上更新数据时更新第三个表
- javascript - 如何以编程方式清除/重置 React-Select?
- javascript - 无法从输入到控制器获取 ng-model 值
- magnolia - 如何在 Magnolia CMS 的本地系统中存储资产和网站内容?
- ios - 如何在 iOS 中使用 enumerateAttributes 递归删除 TapStops 位置
- r - 在 R Plotly 中用曲面椭圆绘制 Ellipse3d
- google-app-engine - 应用引擎去部署失败
- qt - Qt 是否支持 Windows 触控板和屏幕旋转手势?
- javascript - 使用 AsyncStorage 更新状态 - React Native