In C#, is there a way to write custom object initializers for new data-types?

前端 未结 2 1096
孤街浪徒
孤街浪徒 2021-02-09 08:52

In C#, there\'s the \"standard\" initializer technique { Property1 = \"a\", Property2 = \"b\" }, and there are a couple of special variants for collections (list and dictionary)

2条回答
  •  悲&欢浪女
    2021-02-09 09:26

    Using a variadic local lambda n that simply calls your constructor, you could get it as short as:

    n(item1, n(item2, item3, item4), n(item5, item6))
    

    Update: something like

    var n = (params Node[] nodes) => new Node(nodes);
    

提交回复
热议问题