c#中另一个匿名类内部的匿名类数组

本文关键字:数组 内部 另一个 | 更新日期: 2023-09-27 18:16:06

我反序列化了一个JSon字符串,它包含一个带有子对象数组的对象。
当前的工作解决方案如下所示:

var definition = new { systems = new subclass[0] };
var ret = JsonConvert.DeserializeAnonymousType(source, definition);
public class subclass
{
    public long id;
}

是否有方法将子类替换为另一个匿名子类?
我尝试使用以下命令,但只得到编译器错误:

var definition = new { constellations = new{ id=0L }[0] };

c#中另一个匿名类内部的匿名类数组

我想知道你是否可以:

var definition = new { systems = MakeEmptyArrayFrom(new { id = 0L}) };
...
static T[] MakeEmptyArrayFrom<T>(T value) => new T[0];

注意:如果它可以工作,它可能也会工作,即使你使用:

static T[] MakeNullArrayFrom<T>(T value) => null;

,因为我认为库对Type比值更感兴趣。