小编THB*_*BFT的帖子

新的`System.Text.Json` 是否具有必需的属性属性?

我已经梳理了MS 文档,但找不到与NewtonSoft JsonPropertyRequired等效的属性。

我要找的是这个:

public class Videogame
{
    [JsonProperty(Required = Required.Always)]
    public string Name { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我是否只是遗漏了某些东西,或者 Microsoft 库中不存在这种级别的验证?

c# json.net .net-core system.text.json

17
推荐指数
4
解决办法
6663
查看次数

Visual Studio Code“快速修复”可以与键盘交互吗?

我正在使用具有出色的vscodevim扩展名的VS Code。当我导航到具有快速操作可用的代码时,我可以+ 激活下拉上下文菜单。ctrl.

有没有一种方法可以选择使用键盘(除了箭头键之外)在可用项目列表中进行切换。作为信息,在Visual Studio中可以使用tab,这在VS Code中不起作用。


为什么?因为我爱我的MS ARC键盘,但我讨厌翘板箭头键。

keyboard-shortcuts vim-plugin visual-studio-code vscodevim

5
推荐指数
1
解决办法
578
查看次数

日期属性的命名约定

这不是一个问题,而是一个征求意见的请求。

我一直讨厌将日期包含在日期或日期时间类型的命名属性或变量中。例如:

DateTime DateFileOpened {get; set;}
Run Code Online (Sandbox Code Playgroud)

对我来说,似乎在变量名中包括了数据类型。

我确定要使用“何时”一词代替日期,例如

DateTime WhenFileOpened {get; set;}
Run Code Online (Sandbox Code Playgroud)

通常,我是通过在布尔变量/属性中使用Is或Has偷来的。

所以问题是:有人对日期有更好的命名约定吗?

c# datetime naming naming-conventions

2
推荐指数
2
解决办法
3452
查看次数

控制打字稿中json序列化的顺序

我正在序列化一个Typescript类对象:

class Geometry {
    public abstract type: string;
    public abstract coordinates: Coordinates | number[];
}

class Point extends Geometry {
    public readonly type: string = "Point";

    constructor(public coordinates: Coordinate | number[]) {
        super();
    }
}
Run Code Online (Sandbox Code Playgroud)

运用 JSON.stringify(new Point([10, 10]));

到目前为止,这很好,但最终被插入GeoJSON对象并且属性的顺序很重要.我得到的是:

{"coordinates":[10,10],"type":"Point"}
Run Code Online (Sandbox Code Playgroud)

我需要的是:

{"type":"Point","coordinates":[10,10]}
Run Code Online (Sandbox Code Playgroud)

如果不在public coordinates构造函数中声明并分配它们:

constructor(coordinates: Coordinate | number[]) {
   super();
   this.coordinates = coordinates;
}
Run Code Online (Sandbox Code Playgroud)

结果是对的.作为一个极简主义者,我试图使用public参数使用构造函数.

有没有办法控制JSON.stringify(-)方法中属性的顺序?


给自己一个替代的答案

真正的问题在于properties特征的价值(在原始问题的范围之外).通过覆盖toJSON对象上的方法,可以控制对象如何序列化自身.我在Geometry课堂上添加了以下内容,一切都很顺利.

public toJSON() {
    return {
        type: this.type, …
Run Code Online (Sandbox Code Playgroud)

serialization json geojson typescript

0
推荐指数
1
解决办法
275
查看次数