小编Ali*_*Qim的帖子

这种 C# 语法可能吗?

在我参与过的一个 C# 项目中,我遇到了以下代码:

var session = new Session
{
    Application = /*!!!*/
    {
        PublicApplicationId = appId
    },
    LastActivityTime = DateTime.Now - TimeSpan.FromTicks(1)
};
Run Code Online (Sandbox Code Playgroud)

我很久以前就见过它,但直到现在我才接触到它。

我无法再访问源代码,所以不知道Session类是什么意思。

但我想知道这在语法上怎么可能?

为什么该Application属性仅由大括号中的一些类似 JSON 的对象初始化?

有任何想法吗?

添加: / !!!/ - 我写这个评论是为了标记这个奇怪的地方。那里什么都没有,没有“new SomeClass”

UPD:感谢您的回答!这是此功能的更易于理解的描述:https://fuqua.io/blog/2020/12/a-lesser-known-csharp-feature-nested-object-initializers/

c# syntax

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

标签 统计

c# ×1

syntax ×1