在我使用过的一个C#项目中,我遇到了以下代码段:
var session = new Session
{
Application = /*!!!*/
{
PublicApplicationId = appId
},
LastActivityTime = DateTime.Now - TimeSpan.FromTicks(1)
};
我一段时间以前见过它,但直到现在我才接触到它.
我不再有权访问这些资源,所以我不知道Session
级是什么意思.
但我想知道这在句法上是怎么可能的?
为什么只用大括号中的一些类似JSON的对象来初始化Application
属性?
有什么好主意吗?
加法:/!!!/-我写这条 comments 是为了标记这个陌生的地方.那里什么都没有,没有"新的SomeClass"
UPD:谢谢你的回答! 下面是对这一功能的更易读的描述:https://fuqua.io/blog/2020/12/a-lesser-known-csharp-feature-nested-object-initializers/