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()