C# linq使用私有setter是否可以实现这一点?

C# linq使用私有setter是否可以实现这一点?,c#,linq,immutability,C#,Linq,Immutability,使用这样的父级和子级设置:父级具有子级列表 public sealed class Parent { public Parent(DateTime recordTime, int randomValue, bool isAccepted, List<Child> children) { RecordTime = recordTime; RandomValue = randomValue; IsAccepted = isA

使用这样的父级和子级设置:父级具有子级列表

public sealed class Parent
{
    public Parent(DateTime recordTime, int randomValue, bool isAccepted, List<Child> children)
    {
        RecordTime = recordTime;
        RandomValue = randomValue;
        IsAccepted = isAccepted;
        Children = adjustments;
    }

    public DateTime RecordTime { get; private set; }
    public int RandomValue { get; private set; }
    public bool IsAccepted { get; private set; }
    public List<Child> Children { get; private set; }
}

public sealed class Child
{
    public Child(int randomChildValue, bool isPositive, Parent parent)
    {
        RandomChildValue = randomChildValue;
        IsPositive = isPositive;
        Parent = parent;
    }

    public int RandomChildValue { get; private set; }
    public bool IsPositive { get; private set; }
    public Parent Parent { get; private set; }
}

只需让父构造函数将自己指定为每个子类的父类。但是,由于父级是私有的,因此必须在父级构造函数中重新生成子级列表

Children = children.Select(c => new Child(c.RandomChildValue, c.IsPositive, this)).ToList()

您缺少一些代码。什么是
neighborCollection
x.subCollection
?它们是用于构建父集合和子集合的单独类型。因此,我正在从邻居集合中选择以生成父集合。我必须更改设置程序或创建新集合。否
Children=Children.Select(c=>newchild(c.RandomChildValue,c.IsPositive,this).ToList()
Children = children.Select(c => new Child(c.RandomChildValue, c.IsPositive, this)).ToList()